Class: Lit::RedisStorage
- Inherits:
-
Object
- Object
- Lit::RedisStorage
- Defined in:
- lib/lit/adapters/redis_storage.rb
Instance Method Summary collapse
- #[](key) ⇒ Object
- #[]=(k, v) ⇒ Object
- #clear ⇒ Object
- #delete(k) ⇒ Object
- #has_key?(key) ⇒ Boolean
- #incr(key) ⇒ Object
-
#initialize ⇒ RedisStorage
constructor
A new instance of RedisStorage.
- #keys ⇒ Object
- #sort ⇒ Object
Constructor Details
#initialize ⇒ RedisStorage
Returns a new instance of RedisStorage.
14 15 16 |
# File 'lib/lit/adapters/redis_storage.rb', line 14 def initialize Lit.redis end |
Instance Method Details
#[](key) ⇒ Object
18 19 20 21 22 23 24 25 26 |
# File 'lib/lit/adapters/redis_storage.rb', line 18 def [](key) if Lit.redis.exists(_prefixed_key_for_array(key)) Lit.redis.lrange(_prefixed_key(key), 0, -1) elsif Lit.redis.exists(_prefixed_key_for_nil(key)) nil else Lit.redis.get(_prefixed_key(key)) end end |
#[]=(k, v) ⇒ Object
28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
# File 'lib/lit/adapters/redis_storage.rb', line 28 def []=(k, v) delete(k) if v.is_a?(Array) Lit.redis.set(_prefixed_key_for_array(k), '1') v.each do |ve| Lit.redis.rpush(_prefixed_key(k), ve.to_s) end elsif v.nil? Lit.redis.set(_prefixed_key_for_nil(k), '1') Lit.redis.set(_prefixed_key(k), '') else Lit.redis.set(_prefixed_key(k), v) end end |
#clear ⇒ Object
49 50 51 |
# File 'lib/lit/adapters/redis_storage.rb', line 49 def clear Lit.redis.del(keys) if keys.length > 0 end |
#delete(k) ⇒ Object
43 44 45 46 47 |
# File 'lib/lit/adapters/redis_storage.rb', line 43 def delete(k) Lit.redis.del(_prefixed_key_for_array(k)) Lit.redis.del(_prefixed_key_for_nil(k)) Lit.redis.del(_prefixed_key(k)) end |
#has_key?(key) ⇒ Boolean
57 58 59 |
# File 'lib/lit/adapters/redis_storage.rb', line 57 def has_key?(key) Lit.redis.exists(_prefixed_key(key)) end |
#incr(key) ⇒ Object
61 62 63 |
# File 'lib/lit/adapters/redis_storage.rb', line 61 def incr(key) Lit.redis.incr(_prefixed_key(key)) end |