Heroku の Redis To Go で 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)
ただし、Web サイトのテンプレートから同じカウンターにアクセスすると、Errno::ECONNREFUSED エラーが発生します。
Connection refused - Unable to connect to Redis on 127.0.0.1:6379
ローカルの Redis URL に接続しようとしているのはなぜですか? Web サイトの Redis.current の検査も、上記の接続エラーで失敗しています。同じコマンドが Heroku コンソールから正常に機能していることを考えると、ここで何が起こっているのか少し当惑しています。誰かがこれを以前に見て、それを解決する方法を知っていることを願っています...