如何让Redis从Heroku开始?

Sim*_*ton 18 ruby-on-rails heroku redis

我已经Redistogo在Heroku上添加了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'
Run Code Online (Sandbox Code Playgroud)

为什么要尝试在localhost上访问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)
Run Code Online (Sandbox Code Playgroud)

Nei*_*ton 21

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

Resque.redis = REDIS
Run Code Online (Sandbox Code Playgroud)

如果没有,那么您发布的代码不是设置REDIS连接.


Jon*_*han 6

试试这个:

heroku config --long | grep REDIS
Run Code Online (Sandbox Code Playgroud)

看看你的REDISTOGO_URL是什么.你可能会意外地设置它.

  • 尝试让Redis gem处理你的URL:`Redis.connect(:url => ENV ['REDISTOGO_URL'])` (2认同)