我在 Heroku 上将 Redis 对象与 Redis 一起使用。我在模型上有一个计数器,如下所示:
class Performance < ActiveRecord::Base
include Redis::Objects
counter :tickets_sold, start: 0
end
从 Heroku 控制台访问这个值也很有效。
irb(main):002:0> Performance.last.tickets_sold.value
Performance Load (3.9ms) SELECT `performances`.* FROM `performances` ORDER BY `performances`.`id` DESC LIMIT 1
=> 0
我确认 Redis.current 存在:
irb(main):003:0> Redis.current
=> # Redis client v2.2.2 connected to redis://ray.redistogo.com:9023/0 (Redis v2.4.11)
但是,从网站上的模板访问相同的计数器会遇到 Errno::ECONNREFUSED 错误。
Connection refused - Unable to connect to Redis on 127.0.0.1:6379
为什么它试图连接到本地 Redis url?在网站上检查 Redis.current 也因上述连接错误而失败。考虑到同样的命令在 Heroku 控制台上运行得很好,我对这里发生的事情有点困惑。我希望有人以前见过这个并且知道如何解决它......