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