Class: Gemstash::RedisClient
- Inherits:
-
Object
- Object
- Gemstash::RedisClient
- Extended by:
- Forwardable
- Defined in:
- lib/gemstash/cache.rb
Overview
Wrapper around the redis-rb gem to behave like a dalli Memcached client.
Instance Method Summary collapse
- #alive! ⇒ Object
- #flush ⇒ Object
- #get(key) ⇒ Object
- #get_multi(keys) ⇒ Object
-
#initialize(redis_servers) ⇒ RedisClient
constructor
A new instance of RedisClient.
- #set(key, value, expiry) ⇒ Object
Constructor Details
#initialize(redis_servers) ⇒ RedisClient
Returns a new instance of RedisClient.
89 90 91 92 |
# File 'lib/gemstash/cache.rb', line 89 def initialize(redis_servers) require "redis" @cache = ::Redis.new(:url => redis_servers) end |
Instance Method Details
#alive! ⇒ Object
94 95 96 |
# File 'lib/gemstash/cache.rb', line 94 def alive! @cache.ping == "PONG" end |
#flush ⇒ Object
115 116 117 |
# File 'lib/gemstash/cache.rb', line 115 def flush @cache.flushdb end |
#get(key) ⇒ Object
98 99 100 101 |
# File 'lib/gemstash/cache.rb', line 98 def get(key) val = @cache.get(key) YAML.load(val, permitted_classes: [Gemstash::Authorization, Set]) unless val.nil? end |
#get_multi(keys) ⇒ Object
103 104 105 106 107 108 109 |
# File 'lib/gemstash/cache.rb', line 103 def get_multi(keys) @cache.mget(*keys).each do |k, v| next if v.nil? yield(k, YAML.load(v)) end end |
#set(key, value, expiry) ⇒ Object
111 112 113 |
# File 'lib/gemstash/cache.rb', line 111 def set(key, value, expiry) @cache.set(key, YAML.dump(value), :ex => expiry) end |