Class: Cache
- Inherits:
-
Object
- Object
- Cache
- Defined in:
- lib/polygon/cache.rb
Constant Summary collapse
- TTL =
seconds
60
- @@redis =
Redis.new
Instance Method Summary collapse
- #delete(names) ⇒ Object
-
#expired?(timestamp) ⇒ Boolean
ms.
- #hmget(name, keys) ⇒ Object
- #hmset(name, key_vals) ⇒ Object
-
#initialize(name_map) ⇒ Cache
constructor
A new instance of Cache.
- #refresh ⇒ Object
Constructor Details
#initialize(name_map) ⇒ Cache
Returns a new instance of Cache.
10 11 12 13 14 15 16 17 18 19 20 21 22 |
# File 'lib/polygon/cache.rb', line 10 def initialize name_map $ps.sub 'on_trade', ->(data) { key = "T_#{data['sym']}" t = data['t'] if expired? t else hmset key, data.to_a end } end |
Instance Method Details
#delete(names) ⇒ Object
42 43 44 |
# File 'lib/polygon/cache.rb', line 42 def delete names @@redis.del *names end |
#expired?(timestamp) ⇒ Boolean
ms
28 29 30 31 32 |
# File 'lib/polygon/cache.rb', line 28 def expired? # ms ts = Time.strptime(, '%Q') Time.now.to_i - ts.to_i >= TTL end |
#hmget(name, keys) ⇒ Object
38 39 40 |
# File 'lib/polygon/cache.rb', line 38 def hmget name, keys @@redis.hmget name, *keys end |
#hmset(name, key_vals) ⇒ Object
34 35 36 |
# File 'lib/polygon/cache.rb', line 34 def hmset name, key_vals @@redis.hmset name, *key_vals end |
#refresh ⇒ Object
24 25 26 |
# File 'lib/polygon/cache.rb', line 24 def refresh # grab and set end |