AWS Cloud9の中のRuby on Railsアプリケーション内にRedisを導入したい
AWS Cloud9のRuby on Railsアプリケーション内にElastiCacheのRedisを導入してのPV数を表示するブログアプリを作ろうとしています。そこでRedisにつながらないといったエラーが起こりました。
Redis::CannotConnectError in PostsController#show Error connecting to Redis on 127.0.0.1:6379 (Errno::ECONNREFUSED)
該当のソースコード
Ruby
1def show 2 @post = Post.find(params[:id]) 3 REDIS.zincrby "posts", 1, "#{@post.id}" 4 end
試したこと
「Rails + Redis + AWSでPV数を保存」(Qiita)(https://qiita.com/u651601f/items/a0624601047db4f02808)
この記事がそのまま実装したい内容なのでこの記事をもとに進めました。
ただ、自分の知識が浅いため、6年近く前の内容をそのまま実装しました。
Configへのendpoint,portも合っていますが、繋がりません。
全く同じエラーメッセージに対して、海外のエンジニアさんがRedisサーバーが立ち上がっていないと指摘されていましたが、
AWS Cloud9内で、Redisサーバーを立ち上げる作業はConfig/Initializers/Redis.rbに書いた、
require 'redis'
uri = URI.parse(ENV["REDIS"])
REDIS = Redis.new(host: uri.host, port: uri.port)
の部分という認識でよろしいでしょうか。
長文の質問失礼します。
補足情報
PC:Windows 10 Home
AWS内のアプリのバージョン:
Ruby - 2.6.3
Rails - 5.1.6
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/03/09 12:10