Ruby On Rails 7 提示`Redis.current=`将被废弃

环境

Ruby: 3.1.1
Ruby On Rails: 7.0.2.3
redis-rb: 4.6

问题

config/initializers/redis.rb中定义 redis 的配置后,提示如下信息

`Redis.current=` is deprecated and will be removed in 5.0. 

如字面上意思所说,redis-rb 这个 gem 在 5.0 版本将会移除掉 Redis.current 方法

解决方案

需要将所有使用Redis.current的地方改为手动实例化 Redis 对象,相关的配置信息可以通过环境变量REDIS_URL来配置,sidekiq 默认也会使用这个环境变量作为 Redis 的配置,实例化的方式如下:

# 这里使用 `fetch` 来获取环境变量的值,这意味着如果没有这个环境变量将会报错
Redis.new(url: ENV.fetch("REDIS_URL"))

评论