Redis-Cluster READONLY - 读取操作如何负载平衡?

标签 redis master-slave redis-cluster ioredis

我正在设置 Redis 集群。

我的理解是,如果我有一个 6 节点集群(3 个主节点,每个节点有一个从节点),默认情况下,所有读写都将发生在主节点上。如果任何 master 失败,则 slave 将被提升为 master。

我也希望能够允许从设备进行一些读取(如果读取有点陈旧也没关系)。

我看到集群规范支持 READONLY 标志。听起来我可以用它来完成我想要的。 https://redis.io/commands/readonly

我的问题是,如果我有一个 master 和一个 slave,两者都可以执行读取操作,如何决定哪个节点(master 或 slave)负责完成读取操作?这是某种循环方法吗?由客户决定吗?如果有帮助,我正在使用 ioredis 作为我的客户端:https://github.com/luin/ioredis

最佳答案

找到答案:这取决于您使用的客户端。对于 Ioredis,选项记录在此处:

https://github.com/luin/ioredis#read-write-splitting

关于Redis-Cluster READONLY - 读取操作如何负载平衡?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51051767/

相关文章:

ruby-on-rails - 如果 Sidekiq 未处于运行状态,则自动启动它 - Rails

redis - StackExchange.Redis - MISCONF Redis 随机无法保存到 RDB 快照

linux - Jenkins Linux 文件访问或组问题

MySQL Slave 没有

java - slave VM 从 slaves 列表中删除,并且仍然被 Yarn/Tez 访问

redis - 在 Redis 的多个节点上实现 Cuckoo Filter

redis - 如何在 Redis 的 ZRANK 中获得相同分数的相同排名?

Redis如何重置缓存命中超时?

php - Predis 使用 PHP : How to get which Redis node ( host ) that holds a particular key?

Redis集群无法添加节点