Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/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
将redis与heroku一起使用_Heroku_Redis - Fatal编程技术网

将redis与heroku一起使用

将redis与heroku一起使用,heroku,redis,Heroku,Redis,这是我第一次使用redis,我这么做的唯一原因是因为我正在尝试。该教程在开发过程中非常有效,但我在为heroku设置redis时遇到了麻烦 我已经按照heroku文档设置redis,但是当我运行heroku运行rake db:seed时,我得到redis::CannotConnectError:127.0.0.1:6379上连接redis时出错(Errno::EconRefused) 我对heroku不是很熟悉,所以如果你们需要更多信息,请告诉我 编辑 我已经完成了显示的初始化步骤,当我运行he

这是我第一次使用redis,我这么做的唯一原因是因为我正在尝试。该教程在开发过程中非常有效,但我在为heroku设置redis时遇到了麻烦

我已经按照heroku文档设置redis,但是当我运行
heroku运行rake db:seed
时,我得到
redis::CannotConnectError:127.0.0.1:6379上连接redis时出错(Errno::EconRefused)

我对heroku不是很熟悉,所以如果你们需要更多信息,请告诉我

编辑

我已经完成了显示的初始化步骤,当我运行
heroku config:get REDISCLOUD\u URL
时,结果与我的heroku设置的config vars部分下的Redis Cloud URL完全相同

在完成文档之后,我设置config/initializers/redis.rb如下:

if ENV["REDISCLOUD_URL"]
    $redis = Redis.new(:url => ENV["REDISCLOUD_URL"])
end

为了检查,我尝试在if块中用REDISCLOUD的实际URL代替
REDISCLOUD\uURL
变量,但没有成功。当我尝试为heroku db设置种子时,我的错误消息没有更改

您的代码正在尝试连接到本地Redis实例,而不是来自Redis Cloud的实例-确保您已完成详细的初始化步骤以解决此问题。

仅创建一个指向已安装Redis服务器的
$Redis
变量是不够的,您还需要告诉Soulmate,否则,它将默认为localhost

从开始,您应该能够在初始值设定项中执行类似操作(而不是当前的
redis.rb
初始值设定项,除非您在应用程序的其他地方使用redis,否则您不需要该初始值设定项):


查看,一个更简单的方法可能是将
REDIS\u URL
环境变量设置为REDIS URL,而不是或以及
REDISCLOUD\u URL
,因为灵魂伴侣似乎会在返回本地主机之前检查这一点。

很抱歉没有尽快回复,我的电脑出现了一些问题。我已经完成了这些步骤来安装redis cloud,但它仍在尝试连接到本地版本。有什么想法吗?请在你的问题中添加相关的初始化器代码:)我使用了你建议的灵魂伴侣初始值设定项,而不是redis,它似乎很有魅力。无论如何,我已经成功地为我的heroku db播下种子。非常感谢你这么做,我的头都快累坏了!我会尽快奖励赏金的,让我来。@SoSimple你找到解决方案真是太好了!这表明你的应用程序正在使用的Redis gem不支持使用该语法创建连接-你在使用什么?@ItamarHaber,正如matt所说,问题是我忘记了soulmate,需要告诉它看云而不是本地主机。我刚刚用soulmate.rb替换了config/initializers/redis.rb,一切似乎都很好:)
if ENV["REDISCLOUD_URL"]
  Soulmate.redis = ENV["REDISCLOUD_URL"]
end