diff options
author | Eugen Rochko <eugen@zeonfederated.com> | 2017-05-03 23:18:13 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-05-03 23:18:13 +0200 |
commit | c997091166ba1801eea3a587c913b020b9b84ce4 (patch) | |
tree | ed109c440d11133421f3b2187c71b1c4e0270c6e /config/initializers/redis.rb | |
parent | 005f1fd360ada23c6e35c6cc1fd06b7a4fe28c41 (diff) |
Clean up redis configuration. Allow using REDIS_URL to set advanced (#2732)
connection options instead of setting REDIS_HOST etc individually Close #1986
Diffstat (limited to 'config/initializers/redis.rb')
-rw-r--r-- | config/initializers/redis.rb | 20 |
1 files changed, 17 insertions, 3 deletions
diff --git a/config/initializers/redis.rb b/config/initializers/redis.rb index 3660c4a9b..dd7fa112e 100644 --- a/config/initializers/redis.rb +++ b/config/initializers/redis.rb @@ -1,8 +1,22 @@ # 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.current = Redis.new( - host: ENV.fetch('REDIS_HOST') { 'localhost' }, - port: ENV.fetch('REDIS_PORT') { 6379 }, - password: ENV.fetch('REDIS_PASSWORD') { false }, + url: ENV['REDIS_URL'], driver: :hiredis ) + +Rails.application.configure do + config.cache_store = :redis_store, ENV['REDIS_URL'], { + namespace: 'cache', + expires_in: 10.minutes, + } +end |