🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
Redis

Redisは、オープンソースのkey-valueデータストアで、NoSQLに分類されます。すべてのデータをメモリ上に保存するため、処理が極めて高速です。

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

Q&A

解決済

1回答

1428閲覧

AWS Cloud9の中のRuby on Railsアプリケーション内にRedisを導入したい

shosho33

総合スコア1

Redis

Redisは、オープンソースのkey-valueデータストアで、NoSQLに分類されます。すべてのデータをメモリ上に保存するため、処理が極めて高速です。

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

0グッド

0クリップ

投稿2021/03/09 09:13

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

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

そもそもサーバにRedisをインストールしてないのでは?

適当に調べて出てきたページを参考に貼っておきます。
Amazon Linux 2:RedisインストールおよびPHPとの連携方法
※PHPは関係ないので1〜4だけやれば十分です。

RailsのコードでやってるのはRedisのクライアントを設定しているだけでRedisのプロセス自体を立ち上げるものではありません。

投稿2021/03/09 10:50

yu_1985

総合スコア7588

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

shosho33

2021/03/09 12:10

ご回答ありがとうございます! ものすごく初歩的な知識不足でした。(笑) 無事解決しました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問