Class: Cue::Store::Redis
- Inherits:
-
Object
- Object
- Cue::Store::Redis
- Includes:
- Enumerable
- Defined in:
- lib/cue/store/redis.rb
Class Attribute Summary collapse
Class Method Summary collapse
Instance Method Summary collapse
- #clear ⇒ Object
- #delete(key) ⇒ Object
- #each {|items| ... } ⇒ Object
- #keys ⇒ Object
- #read(key) ⇒ Object
- #write(key, item) ⇒ Object
Class Attribute Details
.namespace ⇒ Object
17 18 19 |
# File 'lib/cue/store/redis.rb', line 17 def namespace @namespace ||= 'cue' end |
.redis ⇒ Object
21 22 23 |
# File 'lib/cue/store/redis.rb', line 21 def redis @redis ||= ::Redis.new end |
Class Method Details
.configure(&block) ⇒ Object
13 14 15 |
# File 'lib/cue/store/redis.rb', line 13 def configure(&block) self.tap { |klass| yield(klass) } end |
Instance Method Details
#clear ⇒ Object
26 27 28 29 30 31 |
# File 'lib/cue/store/redis.rb', line 26 def clear item_keys = redis.smembers(redis_key('keys')) keys_key = redis_key('keys') redis.del(item_keys, keys_key) end |
#delete(key) ⇒ Object
33 34 35 36 37 38 |
# File 'lib/cue/store/redis.rb', line 33 def delete(key) item_key = item_key(key) redis.del(item_key) redis.srem(redis_key('keys'), item_key) end |
#each {|items| ... } ⇒ Object
40 41 42 43 |
# File 'lib/cue/store/redis.rb', line 40 def each items = keys.map(&method(:read)).sort yield(items) end |
#keys ⇒ Object
45 46 47 48 49 |
# File 'lib/cue/store/redis.rb', line 45 def keys redis.smembers(redis_key('keys')).map do |redis_key| redis_key.split(':').last end end |
#read(key) ⇒ Object
51 52 53 54 55 56 |
# File 'lib/cue/store/redis.rb', line 51 def read(key) item_hash = redis.hgetall(item_key(key)) return nil if item_hash.empty? deserialize(item_hash) end |
#write(key, item) ⇒ Object
58 59 60 61 |
# File 'lib/cue/store/redis.rb', line 58 def write(key, item) add_key(key) add_item(key, item) end |