class Zipcoder::Cacher::Redis
Public Class Methods
_create_redis_client(**kwargs)
click to toggle source
This is here for stubbing
# File lib/zipcoder/cacher/redis.rb, line 10 def self._create_redis_client(**kwargs) ::Redis.new(**kwargs) end
Public Instance Methods
_empty_cache()
click to toggle source
# File lib/zipcoder/cacher/redis.rb, line 18 def _empty_cache keys = @redis.keys("#{KEY_BASE}*") @redis.del(*keys) unless keys.empty? end
_init_cache(**kwargs)
click to toggle source
# File lib/zipcoder/cacher/redis.rb, line 14 def _init_cache(**kwargs) @redis = self.class._create_redis_client(**kwargs) end
_iterate_keys(**kwargs, &block)
click to toggle source
# File lib/zipcoder/cacher/redis.rb, line 33 def _iterate_keys(**kwargs, &block) return if block == nil start_with = kwargs[:start_with] || KEY_BASE # Redis "keys" command will pre-filter the keys for us so no # need for "if" statement @redis.keys("#{start_with}*").each do |key| block.call(key) end end
_read_cache(key)
click to toggle source
# File lib/zipcoder/cacher/redis.rb, line 28 def _read_cache(key) data = @redis.get(key) data == nil ? nil : JSON.parse(data, :symbolize_names => true) end
_write_cache(key, value)
click to toggle source
# File lib/zipcoder/cacher/redis.rb, line 23 def _write_cache(key, value) return if value == nil @redis.set(key, value.to_json) end