From d5f02adad716520b6b9014553bc730dcef5b2f50 Mon Sep 17 00:00:00 2001 From: Michael Stanclift Date: Mon, 17 Jun 2024 07:28:01 -0500 Subject: [PATCH] Add option to use native Ruby driver for Redis (#30717) --- app/lib/redis_configuration.rb | 6 +++++- lib/mastodon/redis_config.rb | 6 ++++-- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/app/lib/redis_configuration.rb b/app/lib/redis_configuration.rb index f0e86d985..fb1249640 100644 --- a/app/lib/redis_configuration.rb +++ b/app/lib/redis_configuration.rb @@ -42,9 +42,13 @@ class RedisConfiguration ENV['REDIS_URL'] end + def redis_driver + ENV.fetch('REDIS_DRIVER', 'hiredis') == 'ruby' ? :ruby : :hiredis + end + private def raw_connection - Redis.new(url: url, driver: :hiredis) + Redis.new(url: url, driver: redis_driver) end end diff --git a/lib/mastodon/redis_config.rb b/lib/mastodon/redis_config.rb index 10672a535..c858b61a0 100644 --- a/lib/mastodon/redis_config.rb +++ b/lib/mastodon/redis_config.rb @@ -30,8 +30,10 @@ namespace = ENV.fetch('REDIS_NAMESPACE', nil) cache_namespace = namespace ? "#{namespace}_cache" : 'cache' sidekiq_namespace = namespace +redis_driver = ENV.fetch('REDIS_DRIVER', 'hiredis') == 'ruby' ? :ruby : :hiredis + REDIS_CACHE_PARAMS = { - driver: :hiredis, + driver: redis_driver, url: ENV['CACHE_REDIS_URL'], expires_in: 10.minutes, namespace: "#{cache_namespace}:7.1", @@ -43,7 +45,7 @@ REDIS_CACHE_PARAMS = { }.freeze REDIS_SIDEKIQ_PARAMS = { - driver: :hiredis, + driver: redis_driver, url: ENV['SIDEKIQ_REDIS_URL'], namespace: sidekiq_namespace, }.freeze