这是我第一次使用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上运行?
答案 0 :(得分:2)
我在使用Redis Cloud支持后来回解决这个问题。
我需要创建一个文件 - config / initializers / soulmate.rb:
Soulmate.redis = ENV["REDISCLOUD_URL"]
希望能帮到别人!
答案 1 :(得分:0)
在我的头撞了两天之后,我认为使用rails实现自动完成是一个糟糕的选择。
我能够在我的开发机器上实现它,但redis + heroku对我来说是一场噩梦,而redis_to_go团队的支持非常糟糕。
我使用typeahead.js实现了自动填充搜索。
答案 2 :(得分:0)
虽然你继续前进,回答原来的问题:我在Soulmate问题列表中找到了关于此问题的讨论:https://github.com/seatgeek/soulmate/pull/20(额外信息:在提出这个问题之前,修复程序很好地合并到了gem中)。
因此,要解决此问题:将'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"]