在 Windows 将 redis 从 v2 升级到 v4 导致 Rails 连接错误

Upgrade redis from v2 to v4 on Windows causes Rails connection error

背景

我的开发环境是 Windows,Rails cache_store 适用于 Redis V2。

我正在用 sidekiq 实现 ActiveJob,这需要 redis >= v3

我从 GitHub 为 Windows 安装了 Redis,我尝试了 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

问题

我的配置有什么问题?

已解决!

已将 development.rb 更改为:

     config.cache_store                = :redis_cache_store, { url: 'redis://127.0.0.1:6379/0' }