Add option to use native Ruby driver for Redis (#30717)

This commit is contained in:
Michael Stanclift 2024-06-17 07:28:01 -05:00 committed by GitHub
parent d7b7617321
commit d5f02adad7
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 9 additions and 3 deletions

View file

@ -42,9 +42,13 @@ class RedisConfiguration
ENV['REDIS_URL'] ENV['REDIS_URL']
end end
def redis_driver
ENV.fetch('REDIS_DRIVER', 'hiredis') == 'ruby' ? :ruby : :hiredis
end
private private
def raw_connection def raw_connection
Redis.new(url: url, driver: :hiredis) Redis.new(url: url, driver: redis_driver)
end end
end end

View file

@ -30,8 +30,10 @@ namespace = ENV.fetch('REDIS_NAMESPACE', nil)
cache_namespace = namespace ? "#{namespace}_cache" : 'cache' cache_namespace = namespace ? "#{namespace}_cache" : 'cache'
sidekiq_namespace = namespace sidekiq_namespace = namespace
redis_driver = ENV.fetch('REDIS_DRIVER', 'hiredis') == 'ruby' ? :ruby : :hiredis
REDIS_CACHE_PARAMS = { REDIS_CACHE_PARAMS = {
driver: :hiredis, driver: redis_driver,
url: ENV['CACHE_REDIS_URL'], url: ENV['CACHE_REDIS_URL'],
expires_in: 10.minutes, expires_in: 10.minutes,
namespace: "#{cache_namespace}:7.1", namespace: "#{cache_namespace}:7.1",
@ -43,7 +45,7 @@ REDIS_CACHE_PARAMS = {
}.freeze }.freeze
REDIS_SIDEKIQ_PARAMS = { REDIS_SIDEKIQ_PARAMS = {
driver: :hiredis, driver: redis_driver,
url: ENV['SIDEKIQ_REDIS_URL'], url: ENV['SIDEKIQ_REDIS_URL'],
namespace: sidekiq_namespace, namespace: sidekiq_namespace,
}.freeze }.freeze