我有一个redis服务器示例,它是主redis服务器示例的副本。我还有一个python3脚本,它使用redis库来查询副本示例。
但是,此脚本也尝试使用set插入数据。我不确定它是否成功插入。
在复制副本上使用set时会发生什么?我的理解是,复制副本应该复制redis服务器示例的数据,所以我只能想象三种可能的行为
它是否将set命令传递给主redis服务器示例?
它只保存本地数据吗?
它只是忽略了你的set命令吗?
我找不到关于这个问题的任何文档,而且这三种行为似乎都是合理的。如果你知道这种行为是什么,你能解释一下为什么是这种情况而不是其他两种情况吗?
1条答案
按热度按时间11dmarpk1#
它是否将set命令传递给主redis服务器示例?
不
它只保存本地数据吗?
视情况而定。
如果您的复制副本配置为
replica-read-only yes
,它将接受写操作,并将数据保存在本地。但是,当与母版同步时,母版的副本将覆盖它。如果您的复制副本配置为
replica-read-only no
,它将拒绝写入操作。它只是忽略了你的set命令吗?
否。它要么接受它,要么拒绝它并返回错误回复。