首页 > 解决方案 > 池中没有可用的连接,Laravel predis

问题描述

我在 AWZ elasticache 上的 laravel 7、php7.4 和 redis 服务器下出现错误“池中没有可用的连接”。

这是我的 .env :

REDIS_CLIENT=predis
REDIS_SCHEME=tls
REDIS_HOST=clustercfg.xxx.xxx.xxx.cache.amazonaws.com
REDIS_PASSWORD=xxx
REDIS_PORT=6379

我的 config/database.php :

    'redis' => [
         'cluster' => true,
         'client' => 'predis',
         'options' => [
             'cluster' => 'redis',
             'parameters' => [
                 'scheme'   => env('REDIS_SCHEME', 'tcp'),
                 'host'     => env('REDIS_HOST', 'localhost'),
                 'password' => env('REDIS_PASSWORD', null),
                 'port'     => env('REDIS_PORT', 6379),
                 'database' => 0,
                 'timeout' => 15,
              ],
         ],

         'clusters' => [
             'default' => [
               [
                 'scheme'   => env('REDIS_SCHEME', 'tcp'),
                 'host'     => env('REDIS_HOST', 'localhost'),
                 'password' => env('REDIS_PASSWORD', null),
                 'port'     => env('REDIS_PORT', 6379),
                 'database' => 0,
                 'timeout' => 15,
               ]
             ],
             'cache' => [
               [
                 'scheme'   => env('REDIS_SCHEME', 'tcp'),
                 'host' => env('REDIS_HOST', '127.0.0.1'),
                 'password' => env('REDIS_PASSWORD', null),
                 'port' => env('REDIS_PORT', 6379),
                 'database' => env('REDIS_CACHE_DB', 1),
               ]
             ],
         ],
     ],

clustercfg.xxx.xxx.xxx.cache.amazonaws.com 是我的配置端点,REDIS_PASSWORD 是我的 AUTH 令牌 在此处输入图像描述

我基本上已经用 laravel 5.5 复制了 Predis 的解决方案“Aggregate/RedisCluster.php:337 的池中没有可用的连接”

但问题没有解决。

我查看了亚马逊的 vpc 安全组,基本上所有端口都打开了: 在此处输入图像描述

标签: laravelredisamazon-elasticachepredis

解决方案


推荐阅读