我试图设置Redis去我的Rails 4应用程序。我也想把它部署到Heroku。
到目前为止,这就是我所做的
通过dashboard.heroku站点,我使用了Redis的Nano版本的一键安装来安装我的应用程序的附件。
我将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而没有任何问题?
发布于 2014-03-17 15:09:15
环境“REDISTOGO_URL”应该在Heroku的环境中。我会将它从配置/环境/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没有在开发中设置,它就会返回到本地redis安装。
发布于 2015-01-03 18:44:23
要更新Rails 4的brandonhilkert's answer:
uri = ENV["REDISTOGO_URL"] || "redis://localhost:6379/"
REDIS = Redis.new(:url => uri)另外,您可能希望使用Redis.current而不是设置REDIS变量(see here)。
发布于 2015-07-03 21:47:14
对于Rails 4,我执行了以下操作
在控制台中:
heroku addons:create redistogo
heroku config:set REDIS_PROVIDER=REDISTOGO_URL在我的Procfile中,我添加了:
worker: bundle exec sidekiq在我的“gemfile.rb”中,我补充道:
gem 'redis'我添加了以下文件,config/initializers/redis.rb
uri = ENV["REDISTOGO_URL"] || "redis://localhost:6379/"
REDIS = Redis.new(:url => uri)https://stackoverflow.com/questions/22457068
复制相似问题