Laravel为Redis分开读/写操作?

时间:2018-03-26 14:03:30

标签: laravel redis

我在Kubernetes内部运行了一个Redis集群。 Redis群集只能有1个主服务器和N个从服务器。是否有可能在Laravel内部有多个Redis连接进行读写?所以我可以写信给主人并从奴隶那里读书。它可能是正常的'数据库:

'mysql' => [
  'read' => [
     'host' => ['192.168.1.1'],
   ],
  'write' => [
     'host' => ['196.168.1.2'],
   ],
  '....'    => .....
]

有没有为Redis实现这个目标?

三江源,

1 个答案:

答案 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,
    ],

],