KellyMahan-memcachedb-client 1.1.3 → 1.1.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. data/History.txt +5 -0
  2. data/lib/memcache_db.rb +11 -6
  3. metadata +2 -2
@@ -1,3 +1,8 @@
1
+ = 1.1.4
2
+
3
+ get_range(key1, key2, start_exclude=0, end_exclude=0, limit=100)
4
+
5
+ to exclude the first or last search term use 1
1
6
 
2
7
  = 1.1.3
3
8
 
@@ -28,12 +28,14 @@ end
28
28
  # A Ruby client library for memcachedb.
29
29
  #
30
30
 
31
+
32
+
31
33
  class MemCacheDb
32
34
 
33
35
 
34
36
  # The version of MemCacheDb you are using.
35
37
 
36
- VERSION = '1.1.2'
38
+ VERSION = '1.1.4'
37
39
  ##
38
40
  # Default options for the cache object.
39
41
 
@@ -240,14 +242,14 @@ class MemCacheDb
240
242
  # Note that get_multi assumes the values are marshalled.
241
243
 
242
244
 
243
- def get_range(key1, key2, limit=100)
245
+ def get_range(key1, key2, start_exclude=0, end_exclude=0, limit=100)
244
246
  raise MemCacheDbError, 'No active servers' unless active?
245
247
 
246
248
  results = {}
247
249
 
248
250
  begin
249
- servers.each do |server|
250
- values = cache_rget(server, key1, key2, limit)
251
+ @servers.each do |server|
252
+ values = cache_rget(server, key1, key2, limit, start_exclude, end_exclude)
251
253
  values.each do |key, value|
252
254
  results[key.gsub(/#{@namespace}\:/,'')] = Marshal.load value
253
255
  end
@@ -615,7 +617,7 @@ class MemCacheDb
615
617
  end
616
618
  end
617
619
 
618
- def cache_rget(server, start_key, end_key, max=100)
620
+ def cache_rget(server, start_key, end_key, max=100, start_exclude=0, end_exclude=0)
619
621
 
620
622
  # rget <start key> <end key> <left openness flag> <right openness flag> <max items>\r\n
621
623
  #
@@ -648,10 +650,13 @@ class MemCacheDb
648
650
  # - <data block> is the data for this item.
649
651
  #
650
652
  # Notice: all keys in MemcacheDB is sorted alphabetically, so is the return of query result.
653
+ if max > 100
654
+ max = 100
655
+ end
651
656
 
652
657
  with_socket_management(server) do |socket|
653
658
  values = {}
654
- socket.write "rget #{start_key} #{end_key} 0 0 #{max}\r\n"
659
+ socket.write "rget #{start_key} #{end_key} #{start_exclude} #{end_exclude} #{max}\r\n"
655
660
 
656
661
  while keyline = socket.gets do
657
662
  return values if keyline == "END\r\n"
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: KellyMahan-memcachedb-client
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.3
4
+ version: 1.1.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kelly Mahan
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2009-02-25 00:00:00 -08:00
12
+ date: 2009-04-08 00:00:00 -07:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency