class Gemstash::RedisClient
Wrapper around the redis-rb gem to behave like a dalli Memcached client.
Public Class Methods
new(redis_servers)
click to toggle source
# File lib/gemstash/cache.rb, line 89 def initialize(redis_servers) require "redis" @cache = ::Redis.new(:url => redis_servers) end
Public Instance Methods
alive!()
click to toggle source
# File lib/gemstash/cache.rb, line 94 def alive! @cache.ping == "PONG" end
flush()
click to toggle source
# File lib/gemstash/cache.rb, line 115 def flush @cache.flushdb end
get(key)
click to toggle source
# 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) { |k, load| ... }
click to toggle source
# 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)
click to toggle source
# File lib/gemstash/cache.rb, line 111 def set(key, value, expiry) @cache.set(key, YAML.dump(value), :ex => expiry) end