복붙노트

[REDIS] laravel 5.5 Predis "집계 / RedisCluster.php의 풀에서 사용할 수 없음 연결 : 337"

REDIS

laravel 5.5 Predis "집계 / RedisCluster.php의 풀에서 사용할 수 없음 연결 : 337"

내가 한 설정이 레디 스 클러스터 아마존 ElastiCache에 캐시, Laravel 5.5 Predis 패키지를 사용하여, 나는 다음과 같은 오류가 발생합니다.

Predis\ClientException: No connections available in the pool in vendor/predis/predis/src/Connection/Aggregate/RedisCluster.php:337 

기술 스택 내가 사용 :

내가 설정 / database.php에서 다음 CONFIGS을 시도 :

redis=> [
'client'  => 'predis',
        'options' => [
            'cluster' => 'redis',
        ],
        'clusters' => [
            'default' => [
                [
                    'host' => env('REDIS_CLUSTER_HOST', 'localhost'),
                    'password' => env('REDIS_CLUSTER_PASSWORD', null),
                    'port' => env('REDIS_CLUSTER_PORT', 6379),
                    'database' => 0,
                ],
            ],
            'cache' => [
                [
                    'host' => env('REDIS_CLUSTER_HOST', 'localhost'),
                    'password' => env('REDIS_CLUSTER_PASSWORD', null),
                    'port' => env('REDIS_CLUSTER_PORT', 6379),
                    'database' => 0,
                ],
            ],
        ]
]

5 | | 나 또한 시간 제한 => 0과 시도 60 만 때마다 저도 같은 오류가 발생합니다.

어떤 도움은 매우 극명하게 될 것이다!

해결법

  1. ==============================

    1.이것은 우리의 ENV에에 노력하고 있습니다 :

    이것은 우리의 ENV에에 노력하고 있습니다 :

        '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,
                 ],
             ],
         ],
    

    정보를 바탕으로 여기 발견 https://github.com/nrk/predis/issues/480 -뿐만 아니라 옵션에서 모두 '기본'설정 값을 복제하는 데 필요한 -> 매개 변수 그룹

    REDIS_HOST는 AWS의 elasticache의 레디 스 클러스터의 구성 엔드 포인트를 가리키고 있습니다.

  2. from https://stackoverflow.com/questions/53673885/predis-with-laravel-5-5-no-connections-available-in-the-pool-in-aggregate-redis by cc-by-sa and MIT license