You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

29 lines
804 B

# frozen_string_literal: true
if ENV['REDIS_URL'].blank?
password = ENV.fetch('REDIS_PASSWORD') { '' }
host = ENV.fetch('REDIS_HOST') { 'localhost' }
port = ENV.fetch('REDIS_PORT') { 6379 }
db = ENV.fetch('REDIS_DB') { 0 }
ENV['REDIS_URL'] = "redis://#{password.blank? ? '' : ":#{password}@"}#{host}:#{port}/#{db}"
end
redis_connection = Redis.new(
url: ENV['REDIS_URL'],
driver: :hiredis
)
cache_params = { expires_in: 10.minutes }
namespace = ENV.fetch('REDIS_NAMESPACE') { nil }
if namespace
Redis.current = Redis::Namespace.new(namespace, :redis => redis_connection)
cache_params[:namespace] = namespace + '_cache'
else
Redis.current = redis_connection
end
Rails.application.configure do
config.cache_store = :redis_store, ENV['REDIS_URL'], cache_params
end