Я установил redis-cluster на эластичный кеш aws для кеша, используя Laravel 5.5 и пакет Predis, я получаю следующую ошибку:
Predis\ClientException: No connections available in the pool in vendor/predis/predis/src/Connection/Aggregate/RedisCluster.php:337
Трассировка: Predis \ ClientException: Нет соединенийдоступно в пуле вендора / predis / predis / src / Connection / Aggregate / RedisCluster.php: 337
Трассировка стека:
0 вендор / predis / predis / src / Connection / Aggregate /RedisCluster.php (411): Predis \ Connection \ Aggregate \ RedisCluster-> guessNode (153)
1 поставщик / predis / predis / src / Connection / Aggregate / RedisCluster.php (388): Predis \ Connection \Aggregate \ RedisCluster-> getConnectionBySlot (153)
2 поставщик / predis / predis / src / Connection / Aggregate / RedisCluster.php (550): Predis \ Connection \ Aggregate \ RedisCluster-> getConnection (объект (Predis \)Command \ StringSetExpire))
3 поставщик / predis / predis / src / Connection / Aggregate / RedisCluster.php (593): Predis \ Connection \ Aggregate \ RedisCluster-> retryCommandOnFailure (Объект (Predis \ Command \ StringSetExp), 'executeCommand')
4 vendor / predis / predis / src / Client.php (331): Predis \ Connection \ Aggregate \ RedisCluster-> executeCommand (Object (Predis \ Command \ StringSetExpire))
5 vendor / predis / predis/src/Client.php(314): Predis \ Client-> executeCommand (Object (Predis \ Command \ StringSetExpire))
6 vendor / laravel / framework / src / Подсветка / Redis / Connections / Connection.php(96): Predis \ Client -> __ call ('setex', Array)
7 vendor / laravel / framework / src / Подсветка / Redis / Connections / Connection.php (108): Подсветка \ Redis \ ConnectionsКоманда \ Connection-> ('setex', Array)
8 vendor / laravel / framework / src / Подсветка / Cache / RedisStore.php (93): Подсветка \ Redis \ Connections \ Connection -> __ call ('setex ', Array)
9 вендор / laravel / framework / src / Подсветка / Cache / Repository.php (195): Подсветка \ Cache \ RedisStore-> put (' 5rr44TBjIPEgJSx ... ',' a:1: {s: 6: "_ flas ... ', 480)
10 vendor / laravel / framework / src / Illuminate / Session / CacheBasedSessionHandler.php (66): Подсветить \ Cache \ Repository-> put( '5rr44TBjIPEgJSx ... ',' a: 1: {s: 6: "_ flas ... ', 480)
11 vendor / laravel / framework / src / Illuminate / Session / Store.php (128): Подсветить \ Session \ CacheBasedSessionHandler-> write ('5rr44TBjIPEgJSx ...', 'a: 1: {s: 6: "_ flas ...')
12 vendor / laravel / framework / src / Illuminate/Session/Middleware/StartSession.php(87): Подсветка \ Session \ Store-> save ()
13 vendor / laravel / framework / src / Illuminate / Foundation / Http / Kernel.php (218):Подсветка \ Session \ Middleware \ StartSession-> terminate (Object (Подсветка \ Http \ Request), Объект (Подсветка \ Http \ Response))
14 вендор / laravel / framework / src / Подсветка / Foundation / Http /Kernel.php (189): Illuminate \ Foundation \ Http \ Kernel-> terminateMiddleware (Object (Illuminate \ Http \ Request), Object (Illuminate \ Http \ Response))
15 public / index.php (58): Подсветка \ Foundation \ Http \ Kernel-> terminate (Object (Подсветка \ Http \ Request), Объект (Подсветка \ Http \ Response))
16 {main}
Технический стек, который я использовал:
- PHP7.0
- Laravel5.5
- OS (Debian GNU / Linux 9.6 (stretch)), выпуск 9.6
Я попробовал следующееконфиги в config / database.php:
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,
],
],
]
]
Я также пытался с таймаутом => 0 | 5 | 60, но каждый раз, когда я получаю ту же ошибку.
Любая помощь будет высоко ценится!