在 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 命令行上将文件复制到网络计算机

如何在 Windows 上将 NPM 升级到特定版本 6.4.1?

在 Windows 上将 TagLib 编译成 Qt C++ 项目

在 Windows XP 上将 IIS 5.1 升级到 IIS 6

Part 23:Cocos2d-x开发实战-移植-从Win32到Windows Phone8-关东升-专题视频课程

在 windows apache 服务器问题上将 php cig 模式升级为 fastcgi