Elasticache PHP Redis AWS在Laravel中移动了例外



我使用的是Laravel 5.2,并具有多服务器自动化的体系结构。我想在集中位置进行会话和缓存。我想使用AWS Elasticache。

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

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

在Laravel会话配置中,我将Redis设置为会话驱动程序。

在设置redis配置的数据库中,我使用了以下内容:

redis_host = my_aws_elasticache_configuration_endpointredis_password = nullredis_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)],
    ],

相关内容

  • 没有找到相关文章

最新更新