diff options
author | beatrix <beatrix.bitrot@gmail.com> | 2017-05-07 13:42:32 -0400 |
---|---|---|
committer | Eugen Rochko <eugen@zeonfederated.com> | 2017-05-07 19:42:32 +0200 |
commit | 5c1f70b5c577123cc42e073dea6a8f72e27818f8 (patch) | |
tree | 1d7fe709a98f6d97ded8db4a020f80efe44b9e01 /config | |
parent | c7848f54ffd67189e368e9d981565076dbb5e770 (diff) |
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
Diffstat (limited to 'config')
-rw-r--r-- | config/initializers/redis.rb | 17 | ||||
-rw-r--r-- | config/initializers/sidekiq.rb | 11 |
2 files changed, 21 insertions, 7 deletions
diff --git a/config/initializers/redis.rb b/config/initializers/redis.rb index dd7fa112e..63fc42557 100644 --- a/config/initializers/redis.rb +++ b/config/initializers/redis.rb @@ -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 ) +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'], { - namespace: 'cache', - expires_in: 10.minutes, - } + config.cache_store = :redis_store, ENV['REDIS_URL'], cache_params end diff --git a/config/initializers/sidekiq.rb b/config/initializers/sidekiq.rb index 3d2e4741d..b70784d79 100644 --- a/config/initializers/sidekiq.rb +++ b/config/initializers/sidekiq.rb @@ -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 |