Class: VisitCounter::Store::RedisStore
- Inherits:
-
AbstractStore
- Object
- AbstractStore
- VisitCounter::Store::RedisStore
- Defined in:
- lib/visit_counter_updater/store/redis_store.rb
Class Method Summary collapse
- .del(key) ⇒ Object
-
.get_all_by_range(sorted_set_key, min, max) ⇒ Object
Usage: to get all post#num_reads counters in the last hour, do: redis.zrangebyscore(“visit-counter::Post::num_reads”, (Time.now - 3600).to_i, Time.now.to_i).
-
.incr(key, timestamp, set_name) ⇒ Object
adding keys to sorted sets, to allow searching by timstamp(score).
- .mget(keys) ⇒ Object
- .mnullify(keys) ⇒ Object
Class Method Details
.del(key) ⇒ Object
14 15 16 |
# File 'lib/visit_counter_updater/store/redis_store.rb', line 14 def del(key) redis.del(key) end |
.get_all_by_range(sorted_set_key, min, max) ⇒ Object
Usage: to get all post#num_reads counters in the last hour, do: redis.zrangebyscore(“visit-counter::Post::num_reads”, (Time.now - 3600).to_i, Time.now.to_i)
29 30 31 |
# File 'lib/visit_counter_updater/store/redis_store.rb', line 29 def get_all_by_range(sorted_set_key, min, max) redis.zrangebyscore(sorted_set_key, min, max) end |
.incr(key, timestamp, set_name) ⇒ Object
adding keys to sorted sets, to allow searching by timstamp(score). subsequent hits to the same key will only update the timestamp (and won’t duplicate).
9 10 11 12 |
# File 'lib/visit_counter_updater/store/redis_store.rb', line 9 def incr(key, , set_name) redis.zadd(set_name, , key) redis.incr(key).to_i end |
.mget(keys) ⇒ Object
18 19 20 |
# File 'lib/visit_counter_updater/store/redis_store.rb', line 18 def mget(keys) redis.mget(*keys).map(&:to_i) end |
.mnullify(keys) ⇒ Object
22 23 24 25 |
# File 'lib/visit_counter_updater/store/redis_store.rb', line 22 def mnullify(keys) keys_with_0 = keys.flat_map {|k| [k,"0"]} redis.mset(*keys_with_0) end |