Class: Spymemcached
- Inherits:
-
Object
- Object
- Spymemcached
- Defined in:
- lib/spymemcached.rb
Defined Under Namespace
Classes: RubyTranscoder
Instance Method Summary collapse
- #add(key, value, expiration = 0, raw = false) ⇒ Object
- #append(key, value) ⇒ Object
- #async_get(key, raw = false) ⇒ Object
- #async_set(key, value, expiration = 0, raw = false) ⇒ Object
- #decr(key, by = 1) ⇒ Object
- #del(key) ⇒ Object (also: #delete)
- #flush ⇒ Object
- #get(key, raw = false) ⇒ Object
- #incr(key, by = 1) ⇒ Object
-
#initialize(servers, transcoder = RubyTranscoder.new) ⇒ Spymemcached
constructor
A new instance of Spymemcached.
- #multiget(keys, raw = false) ⇒ Object (also: #get_multi)
- #prepend(key, value) ⇒ Object
- #set(key, value, expiration = 0, raw = false) ⇒ Object
Constructor Details
#initialize(servers, transcoder = RubyTranscoder.new) ⇒ Spymemcached
Returns a new instance of Spymemcached.
32 33 34 35 36 37 38 |
# File 'lib/spymemcached.rb', line 32 def initialize(servers, transcoder = RubyTranscoder.new) @transcoder = transcoder @client = MemcachedClient.new(servers.map do |s| host, port = s.split(":") InetSocketAddress.new(host, port.to_i) end) end |
Instance Method Details
#add(key, value, expiration = 0, raw = false) ⇒ Object
77 78 79 |
# File 'lib/spymemcached.rb', line 77 def add(key, value, expiration = 0, raw = false) with_timeout @client.add(key, expiration, value, transcoder(raw)) end |
#append(key, value) ⇒ Object
64 65 66 |
# File 'lib/spymemcached.rb', line 64 def append(key, value) with_timeout @client.append(0, key, value) end |
#async_get(key, raw = false) ⇒ Object
48 49 50 |
# File 'lib/spymemcached.rb', line 48 def async_get(key, raw = false) @client.asyncGet(key, transcoder(raw)) end |
#async_set(key, value, expiration = 0, raw = false) ⇒ Object
40 41 42 |
# File 'lib/spymemcached.rb', line 40 def async_set(key, value, expiration = 0, raw = false) @client.set(key, expiration, value, transcoder(raw)) end |
#decr(key, by = 1) ⇒ Object
60 61 62 |
# File 'lib/spymemcached.rb', line 60 def decr(key, by = 1) with_timeout @client.asyncDecr(key, by) end |
#del(key) ⇒ Object Also known as: delete
81 82 83 |
# File 'lib/spymemcached.rb', line 81 def del(key) with_timeout @client.delete(key) end |
#flush ⇒ Object
86 87 88 |
# File 'lib/spymemcached.rb', line 86 def flush @client.flush end |
#get(key, raw = false) ⇒ Object
52 53 54 |
# File 'lib/spymemcached.rb', line 52 def get(key, raw = false) with_timeout async_get(key, raw) end |
#incr(key, by = 1) ⇒ Object
56 57 58 |
# File 'lib/spymemcached.rb', line 56 def incr(key, by = 1) with_timeout @client.asyncIncr(key, by) end |
#multiget(keys, raw = false) ⇒ Object Also known as: get_multi
72 73 74 |
# File 'lib/spymemcached.rb', line 72 def multiget(keys, raw = false) Hash[*with_timeout(@client.asyncGetBulk(keys, transcoder(raw))).to_a.flatten] end |
#prepend(key, value) ⇒ Object
68 69 70 |
# File 'lib/spymemcached.rb', line 68 def prepend(key, value) with_timeout @client.prepend(0, key, value) end |
#set(key, value, expiration = 0, raw = false) ⇒ Object
44 45 46 |
# File 'lib/spymemcached.rb', line 44 def set(key, value, expiration = 0, raw = false) with_timeout async_set(key, value, expiration, raw) end |