Laravel 为 Redis 分离读/写操作?

标签 laravel redis

我有一个在 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/

相关文章:

mysql - 使用 nginx 服务器和 AWS RDS 的 Laravel 出现 "too many connections"错误

php - 如何在 Laravel 5 中使用我的包

拉维尔 |测试

java - 将 spring boot 与 redis 混合

amazon-web-services - Logstash - 来自亚马逊的 redis 作为服务的输入是否可以与 logstash 的 redis 输入插件一起使用?

node.js - 为什么我的代码每次运行我的 node.js 应用程序时都会打印不合逻辑的模式?

php - Laravel:是否存在等价于 var_export($var, True) 的助手?

database - 获取或获取最新或最后在 laravel 中创建多行

node.js - 清理 Docker 容器 kill

django - 长时间运行 Django 进程是否可行?