gpt4 book ai didi

php - Elasticache PHP Redis AWS 在 Laravel 中移动异常

转载 作者:可可西里 更新时间:2023-11-01 11:25:11 26 4
gpt4 key购买 nike

我正在使用 laravel 5.2 并具有多服务器自动缩放架构。我想将 session 和缓存放在一个集中的位置。我想同样使用 AWS elasticache。

我已经设置了一个具有以下选项的 elasticache Redis 集群:

参数组:default.redis.3.2.cluster.on碎片:3节点总数:9

在 laravel session 配置中,我将 redis 设置为 session 驱动程序。

在设置了 redis 配置的 database.php 中,我使用了以下内容:

REDIS_HOST=my_aws_elasticache_configuration_endpointREDIS_PASSWORD=空REDIS_PORT=6379.

当我尝试使用它时,出现以下错误:

已移动 13841 some_ip_address_of_aws:6379

我尝试使用本地 redis 并且它工作正常,因此 predis 工作正常。我尝试在线查看解决方案,但无法获得解决方案。我相信配置端点正在尝试将 redis 连接重定向到我拥有的 9 个节点中的一个可用节点 url。但是,我已经预料到 AWS 应该在内部执行并且不会抛出异常。谁能帮帮我?

最佳答案

我终于得到了答案,我们需要在数据库设置中开启集群模式,并将新的集群选项设置为redis。这是 database.php 中的 redis 配置的样子:

'redis' => [
'client' => 'predis',
'options' => [
'cluster' => 'redis',
],
'clusters' => [
'default' => [
[
'host' => env('REDIS_HOST', 'localhost'),
'password' => env('REDIS_PASSWORD', null),
'port' => env('REDIS_PORT', 6379),
'database' => 0,
],
],
],
],

如果你有密码,那么你可以用这个替换选项数组:

 'options' => [
'cluster' => 'redis',
'parameters' => ['password' => env('REDIS_PASSWORD', null)],
],

关于php - Elasticache PHP Redis AWS 在 Laravel 中移动异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46357691/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com