Configure Redis cache for all environments
Also add support for connecting to Redis with Unix sockets.
This commit is contained in:
parent
2c7e08745b
commit
9122823afc
2 changed files with 18 additions and 10 deletions
|
@ -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"
|
||||
|
||||
|
|
18
config/initializers/7_cache_settings.rb
Normal file
18
config/initializers/7_cache_settings.rb
Normal 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
|
Loading…
Reference in a new issue