Skip to content
Snippets Groups Projects
Commit cfab2fd1 authored by farhatahmad's avatar farhatahmad Committed by Jesus Federico
Browse files

Switched to Redis cache in production (#761)

parent d3eb064b
Branches
Tags release-2.3.2
No related merge requests found
...@@ -83,6 +83,10 @@ group :production do ...@@ -83,6 +83,10 @@ group :production do
# For a better logging library in production # For a better logging library in production
gem "lograge" gem "lograge"
# Use for the cache store in production
gem 'redis'
gem 'hiredis'
end end
# Ruby linting. # Ruby linting.
......
...@@ -140,6 +140,7 @@ GEM ...@@ -140,6 +140,7 @@ GEM
hashie (3.6.0) hashie (3.6.0)
health_check (3.0.0) health_check (3.0.0)
railties (>= 5.0) railties (>= 5.0)
hiredis (0.6.3)
http_accept_language (2.1.1) http_accept_language (2.1.1)
i18n (1.6.0) i18n (1.6.0)
concurrent-ruby (~> 1.0) concurrent-ruby (~> 1.0)
...@@ -257,6 +258,7 @@ GEM ...@@ -257,6 +258,7 @@ GEM
recaptcha (5.0.0) recaptcha (5.0.0)
json json
redcarpet (3.4.0) redcarpet (3.4.0)
redis (4.1.2)
remote_syslog_logger (1.0.4) remote_syslog_logger (1.0.4)
syslog_protocol syslog_protocol
request_store (1.4.1) request_store (1.4.1)
...@@ -363,6 +365,7 @@ DEPENDENCIES ...@@ -363,6 +365,7 @@ DEPENDENCIES
faker faker
font-awesome-sass (~> 5.9.0) font-awesome-sass (~> 5.9.0)
health_check health_check
hiredis
http_accept_language http_accept_language
i18n-language-mapping (~> 0.1.0) i18n-language-mapping (~> 0.1.0)
jbuilder (~> 2.5) jbuilder (~> 2.5)
...@@ -385,6 +388,7 @@ DEPENDENCIES ...@@ -385,6 +388,7 @@ DEPENDENCIES
random_password random_password
recaptcha recaptcha
redcarpet redcarpet
redis
remote_syslog_logger remote_syslog_logger
rspec-rails (~> 3.7) rspec-rails (~> 3.7)
rubocop rubocop
......
...@@ -16,7 +16,22 @@ Rails.application.configure do ...@@ -16,7 +16,22 @@ Rails.application.configure do
config.consider_all_requests_local = false config.consider_all_requests_local = false
config.action_controller.perform_caching = true config.action_controller.perform_caching = true
if ENV['REDIS_URL'].present?
# Set up Redis cache store
config.cache_store = :redis_cache_store, { url: ENV['REDIS_URL'],
connect_timeout: 30, # Defaults to 20 seconds
read_timeout: 0.2, # Defaults to 1 second
write_timeout: 0.2, # Defaults to 1 second
reconnect_attempts: 1, # Defaults to 0
error_handler: lambda { |method:, returning:, exception:|
config.logger.warn "Support: Redis cache action #{method} failed and returned '#{returning}': #{exception}"
} }
else
config.cache_store = :memory_store config.cache_store = :memory_store
end
config.public_file_server.headers = { config.public_file_server.headers = {
'Cache-Control' => "public, max-age=#{1.years.to_i}" 'Cache-Control' => "public, max-age=#{1.years.to_i}"
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment