在 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' }
背景
我的开发环境是 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' }