【问题标题】:Redis Cluster default behaviour on read operationsRedis Cluster 读取操作的默认行为
【发布时间】:2020-12-23 16:17:29
【问题描述】:

在 redis 集群中发生的读取操作的默认行为是什么?客户端是否从主控读取?我知道客户端向主服务器写入/更新/删除,但是读取操作呢?如果默认行为是从主节点读取,我该如何将其配置为从从节点读取?

【问题讨论】:

    标签: redis


    【解决方案1】:

    启用集群模式的集群中副本节点的默认行为 是将所有客户端读/写请求重定向到权威 属于密钥哈希槽的分片的主节点。这 副本节点仅在该分片属于 哈希槽和只读命令由客户端启动。这 表示副本节点仅在 readonly 为 在请求之前由客户端发出。否则,请求是 重定向到哈希槽所属分片的主节点 到。

    https://aws.amazon.com/premiumsupport/knowledge-center/elasticache-redis-client-readonly/

    【讨论】:

    • 是的,但这是客户端将命令定向到副本节点的情况。我想要实现的是,当主节点获得读取操作以将其路由到其从节点之一以减轻主节点的流量时。
    【解决方案2】:

    这一切都取决于 Redis 客户端库。对于 Jedis/Lettuce,所有操作(CRUD)都将发送到相应的主节点,从节点仅用于故障转移。

    如果你想实现 READONLY slave,你需要在 Redis 客户端上进行一些自定义。

    【讨论】:

    • 我没有使用 redis 库。我只是通过 cli 启动了本地 redis 集群,但我不确定默认行为。我想知道的是master的默认行为是否是redirect get ops in slave。
    • Redis master 默认不会将流量重定向到slave。
    • 你能指出我找到这个的文档吗,因为我需要检查如何将读取重定向到从站。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-08-29
    • 1970-01-01
    • 2013-08-07
    • 1970-01-01
    • 2018-09-04
    • 1970-01-01
    • 2019-07-19
    相关资源
    最近更新 更多