Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 如何让Redis从Heroku开始?_Ruby On Rails_Heroku_Redis - Fatal编程技术网

Ruby on rails 如何让Redis从Heroku开始?

Ruby on rails 如何让Redis从Heroku开始?,ruby-on-rails,heroku,redis,Ruby On Rails,Heroku,Redis,我已经在Heroku上添加了Redistogonano插件,并在控制台上成功测试了它。但是,当我的应用程序尝试与Redis连接时,出现以下错误: Heroku日志文件: 2011-10-12T08:19:50+00:00 app[web.1]: Errno::ECONNREFUSED (Connection refused - Unable to connect to Redis on 127.0.0.1:6379): 2011-10-12T08:19:50+00:00 app[web.1]:

我已经在Heroku上添加了
Redistogo
nano插件,并在控制台上成功测试了它。但是,当我的应用程序尝试与Redis连接时,出现以下错误:

Heroku日志文件:

2011-10-12T08:19:50+00:00 app[web.1]: Errno::ECONNREFUSED (Connection refused - Unable to connect to Redis on 127.0.0.1:6379):
2011-10-12T08:19:50+00:00 app[web.1]:   app/controllers/sessions_controller.rb:14:in `create'
为什么它要在本地主机上访问Redis

config/initializers文件夹中的我的Redis.rb有这个问题,这几乎肯定是问题所在

#What's pasted below is pasted ad verbatim. I don't know what to change the values to.

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

你在用Resque吗?如果是这样,您需要告诉Resque使用哪个Redis

Resque.redis = REDIS
如果没有,则说明您发布的代码没有设置您的REDIS连接。

尝试以下操作:

heroku config --long | grep REDIS

查看您的REDISTOGO\u URL是什么。您可能是意外设置的。

我猜ENV[“REDISTOGO\u URL”]是localhost?尝试在生产中使用此变量的heroku域url。heroku为您设置REDISTOGO_url当您将加载项添加到redis to go实例url时,如果它设置了url,为什么要尝试本地主机?尝试让redis gem处理您的url:
redis.connect(:url=>ENV['REDISTOGO_url'])
谢谢。你的这一行启发了我……不要在ENV[“REDISTOGO_URL”]中显式地写东西。顺便说一句,你可以在问题中显示的初始值设定项文件的末尾添加这一行,或者你可以用初始值设定项中的
REDIS
变量替换
Resque.REDIS
,让事情正常工作。大家竖起大拇指。这就是我问题的解决办法。这很奇怪,因为我使用的是ENV[“REDISTOGO\u URL”]而不是ENV[“my\u-actual\u-URL\u from\u-heroku”],它在heroku中工作