使用AWS Elasticache集群安装Laravel 8.x缓存:
我已经尝试过许多我找到的配置。但它们都不管用。
我试着从redis-cli连接Elasticache集群,它与乒乓球一起工作。
但不使用laravel:(错误:,池中没有可用的连接)

这是我的配置:
'redis' => [
'cluster' => true,
'client' => env('REDIS_CLIENT', 'predis'),
'options' => [
'cluster' => env('REDIS_CLUSTER', 'redis'),
'prefix' => env('REDIS_PREFIX', Str::slug(env('APP_NAME', 'laravel'), '_') . '_database_'),
// 'ssl' => ['verify_peer' => false], => have tried, it not working
/*
'parameters' => [ => have tried, it not working
'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' => env('REDIS_CACHE_DB', 0),
'read_write_timeout' => 30,
],
],
'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),
]
],
'options' =>[
'cluster' =>'redis',
]
],
],我尝试过在Ec2中将Elasticache与Redis连接起来,它可以连接:

这是Elasticache的信息:

这是我的.env:
CACHE_DRIVER=redis
REDIS_HOST=xxxxx.xxxxx.clustercfg.xxxxx.cache.amazonaws.com
REDIS_PASSWORD=null
REDIS_PORT=6379顺便说一句,我连接了配置端点(不是主端点),并且已经在composer.json中安装了composer.json。
我改变了很多我在谷歌上找到的配置,但是它不起作用。救命啊!!
感谢您的阅读。
发布于 2021-06-02 02:23:54
解决方案:通过使用**phpredis **进行更改:
服务器中的
sudo yum -y install php-redis
sudo systemctl restart php-fpm.service 'redis' => [
'client' => env('REDIS_CLIENT', 'phpredis'),
....
]不知道为什么它不适用于predis。即使配置是相同的。
https://stackoverflow.com/questions/67718270
复制相似问题