Module: MeRedis::ZipToHash
- Defined in:
- lib/me_redis/zip_to_hash.rb
Overview
include
Defined Under Namespace
Modules: PrependMethods
Class Method Summary collapse
Instance Method Summary collapse
- #me_del(*keys) ⇒ Object
- #me_exists?(key) ⇒ Boolean
- #me_get(key) ⇒ Object
- #me_getset(key, value) ⇒ Object
- #me_incr(key) ⇒ Object
- #me_incrby(key, value) ⇒ Object
-
#me_mget(*keys) ⇒ Object
be aware: you cant save result of me_mget inside pipeline or multi cause pipeline returns nil.
-
#me_mget_p(*keys) ⇒ Object
version to be called inside pipeline, to get values, call map(&:value).
-
#me_mset(*args) ⇒ Object
must be noticed it’s not a equal replacement for a mset, because me_mset can be partially executed, since redis doesn’t rollbacks partially failed transactions.
- #me_set(key, value) ⇒ Object
- #me_setnx(key, value) ⇒ Object
Class Method Details
.included(base) ⇒ Object
32 33 34 35 |
# File 'lib/me_redis/zip_to_hash.rb', line 32 def self.included(base) base.extend(MeRedis::ClassMethods) base.prepend(PrependMethods) end |
Instance Method Details
#me_del(*keys) ⇒ Object
37 38 39 |
# File 'lib/me_redis/zip_to_hash.rb', line 37 def me_del( *keys ) keys.length == 1 ? hdel( *split_key(*keys) ) : pipelined{ keys.each{ |key| hdel( *split_key(key) ) } } end |
#me_exists?(key) ⇒ Boolean
52 |
# File 'lib/me_redis/zip_to_hash.rb', line 52 def me_exists?(key); hexists(*split_key(key)) end |
#me_get(key) ⇒ Object
43 |
# File 'lib/me_redis/zip_to_hash.rb', line 43 def me_get( key ); hget(*split_key(key)) end |
#me_getset(key, value) ⇒ Object
45 46 47 48 49 50 |
# File 'lib/me_redis/zip_to_hash.rb', line 45 def me_getset(key, value) # multi returns array of results, also we can use raw results in case of commpression take place # but inside pipeline, multi returns nil ftr = [] ( multi{ ftr << me_get( key ); me_set( key, value ) } || ftr )[0] end |
#me_incr(key) ⇒ Object
54 |
# File 'lib/me_redis/zip_to_hash.rb', line 54 def me_incr(key); hincrby( *split_key(key), 1 ) end |
#me_incrby(key, value) ⇒ Object
56 |
# File 'lib/me_redis/zip_to_hash.rb', line 56 def me_incrby(key, value); hincrby(*split_key(key), value) end |
#me_mget(*keys) ⇒ Object
be aware: you cant save result of me_mget inside pipeline or multi cause pipeline returns nil
66 67 68 |
# File 'lib/me_redis/zip_to_hash.rb', line 66 def me_mget( *keys ) pipelined { keys.each{ |key| me_get( key ) } } end |
#me_mget_p(*keys) ⇒ Object
version to be called inside pipeline, to get values, call map(&:value)
71 72 73 74 75 |
# File 'lib/me_redis/zip_to_hash.rb', line 71 def me_mget_p( *keys ) ftr = [] pipelined { keys.each{ |key| ftr << me_get( key ) } } ftr end |
#me_mset(*args) ⇒ Object
must be noticed it’s not a equal replacement for a mset, because me_mset can be partially executed, since redis doesn’t rollbacks partially failed transactions
60 61 62 63 |
# File 'lib/me_redis/zip_to_hash.rb', line 60 def me_mset( *args ) #it must be multi since it keeps an order of commands multi{ args.each_slice(2) { |key, value| me_set( key, value ) } } end |
#me_set(key, value) ⇒ Object
41 |
# File 'lib/me_redis/zip_to_hash.rb', line 41 def me_set( key, value ); hset( *split_key(key), value ) end |
#me_setnx(key, value) ⇒ Object
42 |
# File 'lib/me_redis/zip_to_hash.rb', line 42 def me_setnx( key, value ); hsetnx( *split_key(key), value ) end |