Configure Redis cache for all environments

Also add support for connecting to Redis with Unix sockets.
This commit is contained in:
Jacob Vosmaer 2014-08-08 17:56:01 +02:00
parent 2c7e08745b
commit 9122823afc
2 changed files with 18 additions and 10 deletions

View file

@ -45,16 +45,6 @@ Gitlab::Application.configure do
# Use a different logger for distributed setups
# config.logger = ActiveSupport::TaggedLogging.new(SyslogLogger.new)
# Use a different cache store in production
config_file = Rails.root.join('config', 'resque.yml')
resque_url = if File.exists?(config_file)
YAML.load_file(config_file)[Rails.env]
else
"redis://localhost:6379"
end
config.cache_store = :redis_store, resque_url, {namespace: 'cache:gitlab'}
# Enable serving of images, stylesheets, and JavaScripts from an asset server
# config.action_controller.asset_host = "http://assets.example.com"

View file

@ -0,0 +1,18 @@
redis_config_file = Rails.root.join('config', 'resque.yml')
resque_url = if File.exists?(redis_config_file)
YAML.load_file(redis_config_file)[Rails.env]
else
"redis://localhost:6379"
end
# Redis::Store does not handle Unix sockets well, so let's do it for them
redis_config_hash = Redis::Store::Factory.extract_host_options_from_uri(resque_url)
redis_uri = URI.parse(resque_url)
if redis_uri.scheme == 'unix'
redis_config_hash[:path] = redis_uri.path
end
redis_config_hash[:namespace] = 'cache:gitlab'
Gitlab::Application.config.cache_store = :redis_store, redis_config_hash