0

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

我已经使用以下代码使用 RedisToGo 对其进行了配置:

/config/initializers/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 控制台中使用正确的地址,但在应用程序调用它时显示 localhost 地址?

4

1 回答 1

0

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

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

所以我创建了以下初始化程序

/config/initializers/split.rb

Split.redis = REDIS

然后Split可以找到它!

于 2013-01-17T02:28:32.663 回答