我在Kubernetes内部运行了一个Redis集群。 Redis群集只能有1个主服务器和N个从服务器。是否有可能在Laravel内部有多个Redis连接进行读写?所以我可以写信给主人并从奴隶那里读书。它可能是正常的'数据库:
'mysql' => [
'read' => [
'host' => ['192.168.1.1'],
],
'write' => [
'host' => ['196.168.1.2'],
],
'....' => .....
]
有没有为Redis实现这个目标?
三江源,
答案 0 :(得分:2)
您可以使用将返回Redis实例的connection
方法更改使用的连接,例如:
$redis = Redis::connection('read');
$redis->get('example');
您将以与MySQL相同的方式配置不同的连接。
'redis' => [
'client' => 'predis',
'default' => [
'host' => env('REDIS_HOST', 'localhost'),
'password' => env('REDIS_PASSWORD', null),
'port' => env('REDIS_PORT', 6379),
'database' => 0,
],
'read' => [
'host' => env('REDIS_HOST', 'localhost'),
'password' => env('REDIS_PASSWORD', null),
'port' => env('REDIS_PORT', 6380),
'database' => 0,
],
],