ホーム > Laravel > LaravelのRedisで「No connections available in the pool」とエラーが出た時の解決方法
Laravel

LaravelのRedisで「No connections available in the pool」とエラーが出た時の解決方法

いつもご利用ありがとうございます。
この記事には広告が掲載されており、その広告費によって運営しています。

⇨ Laravel 記事の目次はこちら

Laravel の Redis で

「No connections available in the pool」

とエラーが出てしまった時の解決方法についてまとめました。

検証した環境

PHP 7.4
Laravel 6
predis 2.2
クラスターモード

結論

  1. HOST、パスワード、ポートなどが間違っている。

自分の場合、

//.env
//これでは間違っている。:6379が不要
REDIS_HOST=endpoint:6379

このように、URL の末尾にポートを載せてしまっていたことが原因で今回のエラーが発生しました。

  1. ローカルでは検証できない

AWS の ElastiCache は、EC2 など AWS のサービス内からでしか接続ができません。

ローカルで接続の検証をしようとすると同様のエラーが出るので必ず EC2 などで接続の検証を行いましょう。

なぜこうなったのか?

AWS の ElastiCache の管理画面上にあるエンドポイントのコピーボタンを押すと、

今回の設定に不要な port が付いてきてしまうため。

ElastiCacheのエンドポイント

これは管理画面の画像ですが、URL の末尾にポート番号がついています。

なので、HOST:6397 の部分を削除する必要があります。

まとめ

以上です。誰かの参考になればと思います。

このブログは広告のクリックによって支えられています。ありがとうございます。

それでは!

人気記事

PHP7.4 + Laravel6 のプロジェクトを AWS EC2 にデプロイする

【laravel-breadcrumbs】Laravel でパンくずリストを実装する

フィードバックのお願い
この記事のフィードバックがありましたらYoutubeの適当な動画にコメントしていただいたり、お問い合わせからご連絡ください。