Class: RedQueen::Client
- Inherits:
-
Object
- Object
- RedQueen::Client
- Defined in:
- lib/redqueen/client.rb
Instance Method Summary collapse
- #get(key) ⇒ Object
-
#initialize(prefix, client) ⇒ Client
constructor
A new instance of Client.
- #mget(keys) ⇒ Object
- #mset(hash) ⇒ Object
- #prefix(key) ⇒ Object
- #select(index) ⇒ Object
- #set(key, value) ⇒ Object
- #unpack(item) ⇒ Object
Constructor Details
#initialize(prefix, client) ⇒ Client
Returns a new instance of Client.
3 4 5 6 |
# File 'lib/redqueen/client.rb', line 3 def initialize prefix, client @prefix = prefix @client = client end |
Instance Method Details
#get(key) ⇒ Object
8 9 10 |
# File 'lib/redqueen/client.rb', line 8 def get key unpack @client.get prefix(key) end |
#mget(keys) ⇒ Object
12 13 14 15 |
# File 'lib/redqueen/client.rb', line 12 def mget keys return [] if keys.nil? or keys.empty? @client.mget(keys.map{|k| prefix(k)}).map{|v| unpack(v)} end |
#mset(hash) ⇒ Object
21 22 23 |
# File 'lib/redqueen/client.rb', line 21 def mset hash @client.mset hash.flat_map{|k, v| [prefix(k), v.to_msgpack]} end |
#prefix(key) ⇒ Object
29 30 31 |
# File 'lib/redqueen/client.rb', line 29 def prefix key [@prefix, key].join(':') end |
#select(index) ⇒ Object
25 26 27 |
# File 'lib/redqueen/client.rb', line 25 def select index @client.select index end |
#set(key, value) ⇒ Object
17 18 19 |
# File 'lib/redqueen/client.rb', line 17 def set key, value @client.set prefix(key), value.to_msgpack end |
#unpack(item) ⇒ Object
33 34 35 36 |
# File 'lib/redqueen/client.rb', line 33 def unpack item return nil if item.nil? MessagePack.unpack item end |