0
0
Fork 0

namespace redis usage (#2869)

* add redis-namespace gem

* namespace redis usage

* refactor redis namespace code to be less intrusive

previously : would be prepended to keys when the
REDIS_NAMESPACE env var was not set

now if it is not set the namespacing functions are
not used at all, which should prevent disruptions
when instances update.

* fix redis namespace variable style in streaming js

* remove trailing space

* final redis namespace style fix
This commit is contained in:
beatrix 2017-05-07 13:42:32 -04:00 committed by Eugen Rochko
parent c7848f54ff
commit 5c1f70b5c5
5 changed files with 40 additions and 15 deletions

View file

@ -9,14 +9,21 @@ if ENV['REDIS_URL'].blank?
ENV['REDIS_URL'] = "redis://#{password.blank? ? '' : ":#{password}@"}#{host}:#{port}/#{db}"
end
Redis.current = Redis.new(
redis_connection = Redis.new(
url: ENV['REDIS_URL'],
driver: :hiredis
)
Rails.application.configure do
config.cache_store = :redis_store, ENV['REDIS_URL'], {
namespace: 'cache',
expires_in: 10.minutes,
}
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

View file

@ -1,9 +1,16 @@
# frozen_string_literal: true
namespace = ENV.fetch('REDIS_NAMESPACE') { nil }
redis_params = { url: ENV['REDIS_URL'] }
if namespace
redis_params [:namespace] = namespace
end
Sidekiq.configure_server do |config|
config.redis = { url: ENV['REDIS_URL'] }
config.redis = redis_params
end
Sidekiq.configure_client do |config|
config.redis = { url: ENV['REDIS_URL'] }
config.redis = redis_params
end