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.
9 10 11 |
# File 'lib/lit/adapters/redis_storage.rb', line 9 def initialize Lit.redis end |
Instance Method Details
#[](key) ⇒ Object
13 14 15 16 17 18 19 20 21 |
# File 'lib/lit/adapters/redis_storage.rb', line 13 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
23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
# File 'lib/lit/adapters/redis_storage.rb', line 23 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
45 46 47 |
# File 'lib/lit/adapters/redis_storage.rb', line 45 def clear Lit.redis.del(self.keys) if self.keys.length > 0 end |
#delete(k) ⇒ Object
39 40 41 42 43 |
# File 'lib/lit/adapters/redis_storage.rb', line 39 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
53 54 55 |
# File 'lib/lit/adapters/redis_storage.rb', line 53 def has_key?(key) Lit.redis.exists(_prefixed_key(key)) end |
#incr(key) ⇒ Object
57 58 59 |
# File 'lib/lit/adapters/redis_storage.rb', line 57 def incr(key) Lit.redis.incr(_prefixed_key(key)) end |