0

这是我第一次使用redis,我正在使用 soulmate和redis 在搜索表单上实现自动完成。

我已经在我的本地机器上安装了 redis,我必须做 redis-server 以确保 redis 正常工作。

为了使它在 heroku 上工作,我使用了 redis_to_go并按照链接上给出的说明进行操作。

但是,似乎 redis 服务器没有启动,因为我不断收到错误消息Error connecting to Redis on 127.0.0.1:6379 (ECONNREFUSED)

我在初始化程序中创建了一个 redis.rb 文件,其中包含以下代码:-

ENV["REDISTOGO_URL"] ||= "redis://redistogo:972612d8048aad8@tarpon.redistogo.com:9436/"

uri = URI.parse(ENV["REDISTOGO_URL"])
REDIS = Redis.new(:host => uri.host, :port => uri.port, :password => uri.password)

我期待这段代码为我启动 redis 服务器。

我还需要做什么才能使 redis 在 heroku 上工作?

4

3 回答 3

2

在与 Redis Cloud 支持来回切换后,我解决了这个问题。

我需要制作一个文件 - config/initializers/soulmate.rb:

Soulmate.redis = ENV["REDISCLOUD_URL"]

希望对其他人有所帮助!

于 2015-03-11T14:55:41.710 回答
0

在敲了 2 天之后,我认为使用 rails 实现自动完成在生产中是一个糟糕的选择。

我能够在我的开发机器上实现它,但是 redis + heroku 对我来说是一场噩梦,并且 redis_to_go 团队的支持非常差。

我已经使用typeahead.js实现了自动完成搜索。

于 2013-06-24T15:51:58.210 回答
0

虽然你已经继续,回答原来的问题:我在灵魂伴侣问题列表中找到了一个讨论:https ://github.com/seatgeek/soulmate/pull/20 (额外信息:修复被合并到宝石在这个问题提出之前)。

所以,要解决这个问题:将 'ENV["REDIS_URL"] = ENV["REDISTOGO_URL"]' 添加到 redis.rb。我自己的 redis.rb 现在看起来像这样:

uri = URI.parse(ENV["REDISTOGO_URL"])
REDIS = Redis.new(:host => uri.host, :port => uri.port, :password => uri.password)
ENV["REDIS_URL"] = ENV["REDISTOGO_URL"]
于 2013-10-16T01:25:07.880 回答