我正在尝试将一些代码推送到需要 Redis 服务器的 Heroku,但我似乎无法让它工作......我的计算机上运行着一个 Redis 服务器,代码在开发中运行得非常好,但是它拒绝连接到 Heroku 上的服务器。
我在 Heroku(Redis To Go 和 Redis Cloud)上尝试了两个不同的附加组件,但没有成功。
在我的 initializers/redis.rb 中我有这个:
uri = ENV["REDISTOGO_URL"] || "redis://localhost:6379/"
Redis.current = Redis.new(:url => uri)
而且我确信 heroku 配置中显示的 ENV["REDISTOGO_URL"]
与 heroku 插件上的完全相同。
然而,当我将它推送到 Heroku 时,我得到的是:
Redis::CannotConnectError: Error connecting to Redis on 127.0.0.1:6379 (Errno::ECONNREFUSED)
为什么它还在尝试连接到 6379 上的 Redis?我怎样才能强制它使用 Heroku Redis 但仍然能够在本地使用它?
谢谢
最佳答案
我将 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
关于ruby-on-rails - Heroku 上的 Redis 无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30138148/