我正在尝试将一些代码推送到需要Redis服务器的Heroku,但我似乎无法让它工作......我的计算机上运行了一个redis服务器并且代码在开发中工作得很好但是它拒绝连接到Heroku上的服务器。
我在Heroku(Redis To Go和Redis Cloud)上使用两个不同的附加组件尝试了它,但没有运气。
在我的初始化程序/ redis.rb中,我有这个:
uri = ENV["REDISTOGO_URL"] || "redis://localhost:6379/"
Redis.current = Redis.new(:url => uri)
我确信heroku配置中显示的ENV["REDISTOGO_URL"]
与heroku上添加的Redis::CannotConnectError: Error connecting to Redis on 127.0.0.1:6379 (Errno::ECONNREFUSED)
完全相同。
然而,当我把它推到Heroku时,我得到的是:
new SimpleDateFormat("dd-MM-yyyy:HH:mm:ss.sss")
为什么它还在尝试连接到6379上的Redis?如何强制它使用Heroku Redis但仍能在本地使用?
由于
答案 0 :(得分:0)
我将REDIS_URL
设置为与REDISTOGO_URL
相同的值,它帮助了我。
我也有像这样的sidekiq配置:
Sidekiq.configure_server do |config|
config.redis = { url: ENV.fetch("REDISTOGO_URL", "redis://localhost:6379") }
end
Sidekiq.configure_client do |config|
config.redis = { url: ENV.fetch("REDISTOGO_URL", "redis://localhost:6379") }
end