【问题标题】:Laravel separate read/write operations for Redis?Laravel 对 Redis 进行单独的读/写操作?
【发布时间】:2018-09-04 17:02:49
【问题描述】:

我有一个在 Kubernetes 中运行的 Redis 集群。一个 Redis 集群只能有 1 个 master 和 N 个 slave。 Laravel 内部是否可以有多个 Redis 连接进行读写?所以我可以写给主人并从奴隶那里读。 “普通”数据库是可能的:

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

Redis 有没有办法做到这一点?

谢谢,

【问题讨论】:

    标签: laravel redis


    【解决方案1】:

    您可以通过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,
        ],
    
    ],
    

    【讨论】:

    • 感谢您的回答,我正在寻找一种更简单的实现方式,而无需选择使用哪个连接的“开销”。我认为这是目前唯一的解决方案。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-23
    • 2016-04-01
    • 2011-02-24
    • 1970-01-01
    • 1970-01-01
    • 2020-01-21
    相关资源
    最近更新 更多