我正在尝试在我的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/'
然后,我创建了一个如下所示的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)
Redis
在我的控制台中运行命令时,我收到此错误:
Redis::CannotConnectError: Error connecting to Redis on 127.0.0.1:6379 (ECONNREFUSED)
我在这里做错了什么,我需要做些什么来确保我可以在开发中测试并在没有任何问题的情况下部署到Heroku?
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)
只要尚未在开发中设置ENV var,它就会回退到本地redis安装.