可以将数据插入Redis副本吗?为什么或为什么不?

问题描述 投票:0回答:1

我有一个 redis 服务器实例,它是主 redis 服务器实例的副本。我还有一个 python3 脚本,它使用 redis 库来查询副本实例。

但是,该脚本还尝试使用 SET 插入数据。我不确定是否插入成功。

在副本上使用 SET 时会发生什么?我的理解是副本应该复制redis-server实例的数据,所以我只能想象三种可能的行为

  1. 它是否将您的 SET 命令传递到主 redis 服务器实例?
  2. 它会保留您的数据但仅在本地吗?
  3. 它会忽略你的 SET 命令吗?

我找不到关于这个问题的任何文档,而且这三种行为似乎都是合理的。如果您知道这种行为是什么,您能解释一下为什么会出现这种情况而不是其他两种情况吗?

database redis copy replication master-slave
1个回答
4
投票

它是否会将您的 SET 命令传递到主 redis 服务器实例?

它会保留您的数据但仅在本地吗?

这要看情况。

  • 如果您的副本配置为
    replica-read-only no
    ,它将接受写操作,并将数据保存在本地。但是,当与master同步时,master的副本将覆盖它。
  • 如果您的副本配置为
    replica-read-only yes
    ,它将拒绝写入操作。

它会忽略你的 SET 命令吗?

不。它要么接受,要么拒绝,并返回错误回复。

© www.soinside.com 2019 - 2024. All rights reserved.