class MetalArchives::Cache::Redis
Redis-backed cache
Public Class Methods
new(options = {})
click to toggle source
Calls superclass method
MetalArchives::Cache::Base::new
# File lib/metal_archives/cache/redis.rb, line 11 def initialize(options = {}) super # Default TTL is 1 month options[:ttl] ||= (30 * 24 * 60 * 60) end
Public Instance Methods
[](key)
click to toggle source
# File lib/metal_archives/cache/redis.rb, line 18 def [](key) redis.get cache_key_for(key) end
[]=(key, value)
click to toggle source
# File lib/metal_archives/cache/redis.rb, line 22 def []=(key, value) redis.set cache_key_for(key), value, ex: options[:ttl] end
clear()
click to toggle source
# File lib/metal_archives/cache/redis.rb, line 26 def clear redis.keys(cache_key_for("*")).each { |key| redis.del key } end
delete(key)
click to toggle source
# File lib/metal_archives/cache/redis.rb, line 34 def delete(key) redis.del cache_key_for(key) end
include?(key)
click to toggle source
# File lib/metal_archives/cache/redis.rb, line 30 def include?(key) redis.exists? cache_key_for(key) end
Private Instance Methods
cache_key_for(key)
click to toggle source
# File lib/metal_archives/cache/redis.rb, line 40 def cache_key_for(key) "metal_archives.cache.#{key}" end
redis()
click to toggle source
# File lib/metal_archives/cache/redis.rb, line 44 def redis @redis ||= ::Redis.new(**options.except(:ttl)) end