gzigzigzeo/google_translate_diff

View on GitHub
lib/google_translate_diff/redis_cache_store.rb

Summary

Maintainability
A
0 mins
Test Coverage
class GoogleTranslateDiff::RedisCacheStore
  extend Dry::Initializer

  param :connection_pool

  option :timeout, default: proc { 60 * 60 * 24 * 7 }
  option :namespace, default: proc { GoogleTranslateDiff::CACHE_NAMESPACE }

  def read_multi(keys)
    redis { |redis| redis.mget(*keys) }
  end

  def write(key, value)
    redis { |redis| redis.setex(key, timeout, value) }
  end

  private

  def redis
    connection_pool.with do |redis|
      yield Redis::Namespace.new(namespace, redis: redis)
    end
  end
end