使用Heroku和Rails 4.0.0设置Redis To Go

Lui*_*igi 5 ruby-on-rails heroku redistogo

我正在尝试在我的Rails 4应用程序上设置Redis To Go.我希望能够将它部署到Heroku.

到目前为止,这就是我所做的:

通过该dashboard.heroku网站,我使用单击安装Nano版本的Redis To Go来安装我的应用程序的插件.

我添加gem 'redis'到我的gemfile中.

config/environments/development.rb我添加这一行:

ENV["REDISTOGO_URL"] = 'redis://redistogo:b9fc604b1c86a1f6c232ce1dd16cd989@albacore.redistogo.com:10280/'
Run Code Online (Sandbox Code Playgroud)

然后,我创建了一个如下所示的config/initializers/redis.rb文件:

uri = URI.parse(ENV["redis://redistogo:b9fc604b1c86a1f6d872ce1dd16cd989@albacore.redistogo.com:10280/"] || "redis://localhost:6379/")
REDIS = Redis.new(:host => uri.host, :port => uri.port, :password => uri.password)
Run Code Online (Sandbox Code Playgroud)

Redis在我的控制台中运行命令时,我收到此错误:

Redis::CannotConnectError: Error connecting to Redis on 127.0.0.1:6379 (ECONNREFUSED)

我在这里做错了什么,我需要做些什么来确保我可以在开发中测试并在没有任何问题的情况下部署到Heroku?

bra*_*ert 6

ENV ["REDISTOGO_URL"]应该在Heroku的环境中.我将它从config/environments/development.rb中完全删除,并将redis.rb初始化程序更改为:

uri = URI.parse(ENV.fetch("REDISTOGO_URL", "redis://localhost:6379/"))
REDIS = Redis.new(:host => uri.host, :port => uri.port, :password => uri.password)
Run Code Online (Sandbox Code Playgroud)

只要尚未在开发中设置ENV var,它就会回退到本地redis安装.