Class: Phishin::Client::RedisCache

Inherits:
Object
  • Object
show all
Defined in:
lib/phishin/client/cache.rb

Instance Method Summary collapse

Constructor Details

#initialize(opts = {}) ⇒ RedisCache

Returns a new instance of RedisCache.



80
81
82
83
84
85
86
87
# File 'lib/phishin/client/cache.rb', line 80

def initialize(opts={})
  opts ||= {}
  @expires_in = opts.delete(:expires_in)
  url = opts.delete(:url)
  @client = Redis.new(url: url)
  cli = @client.client
  ::Phishin::Client::Client.logger.info "initialized phish.in cache Redis client redis://:REDACTED@#{cli.host}:#{cli.port}/#{cli.db}" if ::Phishin::Client::Client.logger
end

Instance Method Details

#delete(key) ⇒ Object



98
99
100
# File 'lib/phishin/client/cache.rb', line 98

def delete(key)
  @client.del(namespace_key(key))
end

#get(key) ⇒ Object



89
90
91
# File 'lib/phishin/client/cache.rb', line 89

def get(key)
  @client.get(namespace_key(key))
end

#set(key, value, ttl = nil) ⇒ Object



93
94
95
96
# File 'lib/phishin/client/cache.rb', line 93

def set(key, value, ttl=nil)
  ttl ||= @expires_in
  @client.set(namespace_key(key), value, { ex: ttl })
end