Laravel
LaravelのRedisで「No connections available in the pool」とエラーが出た時の解決方法
いつもご利用ありがとうございます。
この記事には広告が掲載されており、その広告費によって運営しています。
オススメ本
Laravel の Redis で
「No connections available in the pool」
とエラーが出てしまった時の解決方法についてまとめました。
検証した環境
PHP 7.4
Laravel 6
predis 2.2
クラスターモード
結論
- HOST、パスワード、ポートなどが間違っている。
自分の場合、
//.env
//これでは間違っている。:6379が不要
REDIS_HOST=endpoint:6379
このように、URL の末尾にポートを載せてしまっていたことが原因で今回のエラーが発生しました。
- ローカルでは検証できない
AWS の ElastiCache は、EC2 など AWS のサービス内からでしか接続ができません。
ローカルで接続の検証をしようとすると同様のエラーが出るので必ず EC2 などで接続の検証を行いましょう。
なぜこうなったのか?
AWS の ElastiCache の管理画面上にあるエンドポイントのコピーボタンを押すと、
今回の設定に不要な port が付いてきてしまうため。
これは管理画面の画像ですが、URL の末尾にポート番号がついています。
なので、HOST:6397 の部分を削除する必要があります。
まとめ
以上です。誰かの参考になればと思います。
このブログは広告のクリックによって支えられています。ありがとうございます。
それでは!
人気記事
フィ ードバックのお願い
この記事のフィードバックがありましたらYoutubeの適当な動画にコメントしていただいたり、お問い合わせからご連絡ください。