在 Windows 上将 redis 从 v2 升级到 v4 导致 Rails 连接错误
Posted
技术标签:
【中文标题】在 Windows 上将 redis 从 v2 升级到 v4 导致 Rails 连接错误【英文标题】:Upgrade redis from v2 to v4 on Windows causes Rails connection error 【发布时间】:2021-07-09 20:18:53 【问题描述】:背景
我的开发环境是 Windows,Rails cache_store 在 redis V2 上运行良好。
我正在使用 sidekiq 实现 ActiveJob,这需要 redis >= v3
我从GitHub 安装了 Redis for Windows,我尝试了 V4 和 V5。
Windows 设置
运行安装 .msi 文件
安装重启后,检查redis-cli,连接测试正常。
轨道设置
来自 config/environments/development.rb
config.cache_store = :redis_cache_store, url: 'redis://localhost:6379/0'
Rails 控制台
>> Rails.cache
=> #<ActiveSupport::Cache::RedisCacheStore options=:namespace=>nil, :compress=>true, :compress_threshold=>1024, :expires_in=>nil, :race_condition_ttl=>nil redis=#<Redis client v4.2.5 for redis://localhost:6379/0>>
>> Rails.cache.redis.connected?
=> false
>> t = Rails.cache.fetch('test') 'T'
=> "T"
>> r = Redis.new
=> #<Redis client v4.2.5 for redis://127.0.0.1:6379/0>
>> r.get 'test'
=> "123"
>> r.connected?
=> true
问题
我在配置中做错了什么?
【问题讨论】:
【参考方案1】:解决了!
将 development.rb 更改为:
config.cache_store = :redis_cache_store, url: 'redis://127.0.0.1:6379/0'
【讨论】:
以上是关于在 Windows 上将 redis 从 v2 升级到 v4 导致 Rails 连接错误的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Windows 上将 NPM 升级到特定版本 6.4.1?
在 Windows 上将 TagLib 编译成 Qt C++ 项目
在 Windows XP 上将 IIS 5.1 升级到 IIS 6