【发布时间】:2020-12-23 16:17:29
【问题描述】:
在 redis 集群中发生的读取操作的默认行为是什么?客户端是否从主控读取?我知道客户端向主服务器写入/更新/删除,但是读取操作呢?如果默认行为是从主节点读取,我该如何将其配置为从从节点读取?
【问题讨论】:
标签: redis
在 redis 集群中发生的读取操作的默认行为是什么?客户端是否从主控读取?我知道客户端向主服务器写入/更新/删除,但是读取操作呢?如果默认行为是从主节点读取,我该如何将其配置为从从节点读取?
【问题讨论】:
标签: redis
启用集群模式的集群中副本节点的默认行为 是将所有客户端读/写请求重定向到权威 属于密钥哈希槽的分片的主节点。这 副本节点仅在该分片属于 哈希槽和只读命令由客户端启动。这 表示副本节点仅在 readonly 为 在请求之前由客户端发出。否则,请求是 重定向到哈希槽所属分片的主节点 到。
https://aws.amazon.com/premiumsupport/knowledge-center/elasticache-redis-client-readonly/
【讨论】:
这一切都取决于 Redis 客户端库。对于 Jedis/Lettuce,所有操作(CRUD)都将发送到相应的主节点,从节点仅用于故障转移。
如果你想实现 READONLY slave,你需要在 Redis 客户端上进行一些自定义。
【讨论】: