Module: TabsTabs::Storage
- Extended by:
- Storage
- Included in:
- TabsTabs, Metrics::Counter, Metrics::Task, Metrics::Task::Token, Metrics::Value, Storage
- Defined in:
- lib/tabs_tabs/storage.rb
Instance Method Summary collapse
- #del(*keys) ⇒ Object
- #del_by_prefix(pattern) ⇒ Object
- #exists(key) ⇒ Object
- #expireat(key, unix_timestamp) ⇒ Object
- #get(key) ⇒ Object
- #hdel(key, field) ⇒ Object
- #hget(key, field) ⇒ Object
- #hgetall(key) ⇒ Object
- #hincrby(key, field, value) ⇒ Object
- #hkeys(key) ⇒ Object
- #hset(key, field, value) ⇒ Object
- #incr(key) ⇒ Object
- #mget(*keys) ⇒ Object
- #redis ⇒ Object
- #rpush(key, value) ⇒ Object
- #sadd(key, *values) ⇒ Object
- #set(key, value) ⇒ Object
- #sismember(key, value) ⇒ Object
- #smembers(key) ⇒ Object
- #smembers_all(*keys) ⇒ Object
- #tabs_key(key) ⇒ Object
- #ttl(key) ⇒ Object
Instance Method Details
#del(*keys) ⇒ Object
42 43 44 45 46 |
# File 'lib/tabs_tabs/storage.rb', line 42 def del(*keys) return 0 if keys.empty? prefixed_keys = keys.map { |k| tabs_key(k) } redis.del(*prefixed_keys) end |
#del_by_prefix(pattern) ⇒ Object
48 49 50 51 52 |
# File 'lib/tabs_tabs/storage.rb', line 48 def del_by_prefix(pattern) keys = redis.keys("#{tabs_key(pattern)}*") return 0 if keys.empty? redis.del(*keys) end |
#exists(key) ⇒ Object
17 18 19 |
# File 'lib/tabs_tabs/storage.rb', line 17 def exists(key) redis.exists(tabs_key(key)) end |
#expireat(key, unix_timestamp) ⇒ Object
21 22 23 |
# File 'lib/tabs_tabs/storage.rb', line 21 def expireat(key, ) redis.expireat(tabs_key(key), ) end |
#get(key) ⇒ Object
29 30 31 |
# File 'lib/tabs_tabs/storage.rb', line 29 def get(key) redis.get(tabs_key(key)) end |
#hdel(key, field) ⇒ Object
88 89 90 |
# File 'lib/tabs_tabs/storage.rb', line 88 def hdel(key, field) redis.hdel(tabs_key(key), field) end |
#hget(key, field) ⇒ Object
80 81 82 |
# File 'lib/tabs_tabs/storage.rb', line 80 def hget(key, field) redis.hget(tabs_key(key), field) end |
#hgetall(key) ⇒ Object
100 101 102 |
# File 'lib/tabs_tabs/storage.rb', line 100 def hgetall(key) redis.hgetall(tabs_key(key)) end |
#hincrby(key, field, value) ⇒ Object
96 97 98 |
# File 'lib/tabs_tabs/storage.rb', line 96 def hincrby(key, field, value) redis.hincrby(tabs_key(key), field, value) end |
#hkeys(key) ⇒ Object
92 93 94 |
# File 'lib/tabs_tabs/storage.rb', line 92 def hkeys(key) redis.hkeys(tabs_key(key)) end |
#hset(key, field, value) ⇒ Object
84 85 86 |
# File 'lib/tabs_tabs/storage.rb', line 84 def hset(key, field, value) redis.hset(tabs_key(key), field, value) end |
#incr(key) ⇒ Object
54 55 56 |
# File 'lib/tabs_tabs/storage.rb', line 54 def incr(key) redis.incr(tabs_key(key)) end |
#mget(*keys) ⇒ Object
33 34 35 36 |
# File 'lib/tabs_tabs/storage.rb', line 33 def mget(*keys) prefixed_keys = keys.map { |k| tabs_key(k) } redis.mget(*prefixed_keys) end |
#redis ⇒ Object
5 6 7 |
# File 'lib/tabs_tabs/storage.rb', line 5 def redis @redis ||= Config.redis end |
#rpush(key, value) ⇒ Object
58 59 60 |
# File 'lib/tabs_tabs/storage.rb', line 58 def rpush(key, value) redis.rpush(tabs_key(key), value) end |
#sadd(key, *values) ⇒ Object
62 63 64 |
# File 'lib/tabs_tabs/storage.rb', line 62 def sadd(key, *values) redis.sadd(tabs_key(key), *values) end |
#set(key, value) ⇒ Object
38 39 40 |
# File 'lib/tabs_tabs/storage.rb', line 38 def set(key, value) redis.set(tabs_key(key), value) end |
#sismember(key, value) ⇒ Object
76 77 78 |
# File 'lib/tabs_tabs/storage.rb', line 76 def sismember(key, value) redis.sismember(tabs_key(key), value) end |
#smembers(key) ⇒ Object
66 67 68 |
# File 'lib/tabs_tabs/storage.rb', line 66 def smembers(key) redis.smembers(tabs_key(key)) end |
#smembers_all(*keys) ⇒ Object
70 71 72 73 74 |
# File 'lib/tabs_tabs/storage.rb', line 70 def smembers_all(*keys) redis.pipelined do keys.map{ |key| smembers(key)} end end |
#tabs_key(key) ⇒ Object
9 10 11 12 13 14 15 |
# File 'lib/tabs_tabs/storage.rb', line 9 def tabs_key(key) if TabsTabs::Config.prefix.blank? "tabstabs:#{key}" else "tabstabs:#{TabsTabs::Config.prefix}:#{key}" end end |
#ttl(key) ⇒ Object
25 26 27 |
# File 'lib/tabs_tabs/storage.rb', line 25 def ttl(key) redis.ttl(tabs_key(key)) end |