如何在redis中确保主站和从站之间的数据一致性

时间:2016-12-08 09:49:55

标签: redis consistency

我制作的程序可以通过某些规则将数字转换为某些序列号,并检查是否使用了序列号。我使用redis进行检查工作。

首先,在slave中获取num1。当结果不为零时,表示使用序列号,因此返回'used'。

其次,如果结果为nil,则在master中设置num1并返回'new'(一旦返回,nums意味着'used')

问题是master在完成与slave同步的过程之前会崩溃,所以这个号码可能不在slave中。此时在slave中获取num1,它返回'new',但使用num1。

如何在redis中确保主站和从站之间的数据一致性?

2 个答案:

答案 0 :(得分:0)

Redis使用异步复制,并且无法确保从属实际接收到给定的写入。总会有一个数据丢失的窗口。

Replication Docs

答案 1 :(得分:0)

了解WAIT命令 - 它允许您指定在采取进一步操作之前使用最新更改更新的从站数。