我有一个在 Kubernetes 中运行的 Redis 集群。一个Redis集群只能有1个master和N个slave。是否可以在 Laravel 内部有多个 Redis 连接进行读写?所以我可以写信给主人并从奴隶那里读取。 “普通”数据库是可能的:
'mysql' => [
'read' => [
'host' => ['192.168.1.1'],
],
'write' => [
'host' => ['196.168.1.2'],
],
'....' => .....
]
有没有办法为 Redis 实现这个目标?
谢谢你,
最佳答案
您可以更改与 connection
一起使用的连接将返回 Redis 实例的方法,例如:
$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,
],
],
关于Laravel 为 Redis 分离读/写操作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49493365/