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 (also: #key?)
- #incr(key) ⇒ Object
-
#initialize ⇒ RedisStorage
constructor
A new instance of RedisStorage.
- #keys ⇒ Object
- #prefix ⇒ Object
- #sort ⇒ Object
Constructor Details
#initialize ⇒ RedisStorage
Returns a new instance of RedisStorage.
15 16 17 |
# File 'lib/lit/adapters/redis_storage.rb', line 15 def initialize Lit.redis end |
Instance Method Details
#[](key) ⇒ Object
19 20 21 22 23 24 25 26 27 |
# File 'lib/lit/adapters/redis_storage.rb', line 19 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
29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
# File 'lib/lit/adapters/redis_storage.rb', line 29 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
50 51 52 |
# File 'lib/lit/adapters/redis_storage.rb', line 50 def clear Lit.redis.del(keys) unless keys.empty? end |
#delete(k) ⇒ Object
44 45 46 47 48 |
# File 'lib/lit/adapters/redis_storage.rb', line 44 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 Also known as: key?
58 59 60 |
# File 'lib/lit/adapters/redis_storage.rb', line 58 def has_key?(key) Lit.redis.exists(_prefixed_key(key)) end |
#incr(key) ⇒ Object
63 64 65 |
# File 'lib/lit/adapters/redis_storage.rb', line 63 def incr(key) Lit.redis.incr(_prefixed_key(key)) end |
#keys ⇒ Object
54 55 56 |
# File 'lib/lit/adapters/redis_storage.rb', line 54 def keys Lit.redis.keys(_prefixed_key + '*') end |
#prefix ⇒ Object
73 74 75 |
# File 'lib/lit/adapters/redis_storage.rb', line 73 def prefix _prefix end |