ruby on rails - Redis可以在控制台工作,但在应用程序中失败



我在Heroku上托管的RoR应用程序中使用Redis与split gem。

我已经用以下代码配置了RedisToGo:

/config/初始化/redis.rb

uri = URI.parse(ENV["REDISTOGO_URL"] || "redis://localhost:6379/" )
REDIS = Redis.new(:host => uri.host, :port => uri.port, :password => uri.password)

/config/application.rb

config.gem 'redis' 

当我试图

REDIS.set("foo","bar")

在Heroku控制台,它工作得很好。它显示了Redis ToGo地址。

但是,当我尝试加载应用程序时,我得到以下错误:

Errno::ECONNREFUSED: Connection refused - Unable to connect to Redis on localhost:6379

为什么REDIS正确响应,在Heroku控制台有正确的地址,但当应用程序调用它时显示本地主机地址?

我能够修复它,我将让解决方案注册:

我没有初始化Split.redis,因此它试图创建一个默认的Redis,它将localhost作为主机。

所以我创建了以下初始化式

/config/初始化/split.rb

Split.redis = REDIS

然后Split可以找到它!

相关内容

  • 没有找到相关文章

最新更新