【问题标题】:Lettuce Redis library strong consistency using ReadFrom使用 ReadFrom 的 Lettuce Redis 库强一致性
【发布时间】:2019-10-21 18:46:58
【问题描述】:
在我的服务中,我尝试使用 Lettuce 客户端的 ReadFrom 方法确保强一致性。我正在写作,然后进行阅读。在客户端配置中,我将ReadFrom 设置为SLAVE_PREFFERED。生菜文档在SLAVE_PREFFERED 中说,“从副本节点读取,但如果没有不可用,则从主节点读取。”。
我想知道,如果没有可用的只读副本,Lettuce 客户端是否只从 master 读取?
如果只读副本可用但没有一个副本有密钥怎么办?那么它是从master那里读取的吗?
【问题讨论】:
标签:
java
redis
redis-cluster
lettuce
【解决方案1】:
我想知道,如果没有可用的只读副本,Lettuce 客户端是否只从 master 读取?
是的,就是这样。
ReadFrom 指示 Lettuce 使用特定的节点选择来发出特定的读取命令。
如果只读副本可用但没有一个副本有密钥怎么办?
然后您会得到类似未找到的响应。例如。 GET 产生 null 值。
那么它是从主设备读取的吗?
没有。命令只发出一次。 ReadFrom 提供命令路由。
如果你想要强一致性,那么你只能从主节点读取。从非主节点读取会导致最终的一致性。