生菜Redis库使用ReadFrom的强一致性

时间:2019-06-06 09:09:46

标签: java redis redis-cluster lettuce

在我的服务中,我正在尝试使用莴苣客户端的ReadFrom方法来确保强一致性。我正在写,然后进行阅读。在客户端配置中,我将ReadFrom设置为SLAVE_PREFFERED。生菜文档在SLAVE_PREFFERED中说:“从副本节点读取,但是如果不可用,则从主节点读取。”。

我想知道,如果没有可用的只读副本,Lettuce客户端是否仅从主服务器读取?

如果只读副本可用但所有副本都没有密钥怎么办?那它是从主人那里读过来的吗?

1 个答案:

答案 0 :(得分:1)

  

我想知道,如果没有可用的只读副本,Lettuce客户端是否仅从主服务器读取数据?

是的,就是这样。

ReadFrom指示Lettuce使用特定的节点选择来发出特定的读取命令。

  

如果只读副本可用但所有副本都没有密钥怎么办?

然后,您将收到一个未找到的答复。例如。 GET产生一个null值。

  

然后从主机读取吗?

不。命令仅发出一次。 ReadFrom提供命令路由。

如果要保持强一致性,则只能从主节点读取。从非主节点读取会导致最终的一致性。