我在Heroku上托管的RoR应用程序中使用带有split
gem的Redis。
我使用以下代码使用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
Howcome REDIS
正确响应,Heroku控制台中的地址正确,但是当应用程序调用它时会显示localhost地址吗?
答案 0 :(得分:0)
我能够解决它,我会让解决方案注册:
我没有初始化Split.redis
,因此它尝试创建一个默认的Redis
,其中localhost作为主机。
所以我创建了以下初始值设定项
<强> /config/initializers/split.rb 强>
Split.redis = REDIS
然后斯普利特可以找到它!