如何知道同步过程是否已在redis中完成?

时间:2017-05-25 09:27:07

标签: redis synchronization

似乎在redis服务器之间同步数据的唯一方法是使用命令slaveof,但如何知道数据是否已成功复制?我的意思是,我希望在同步完成后通知

我已经阅读了redis的一些资源代码,主要是replication.c,并且没有找到正式的。我现在知道的唯一方法是使用redis命令info,并通过轮询检查特定的标志,这看起来很糟糕。

有没有更好的方法呢?

1 个答案:

答案 0 :(得分:1)

您尝试的方式,即slaveof,是在Redis master和Redis slave之间同步数据。每当某些数据写入主站时,它将同步到从站。因此,从技术上讲,同步永远不会 DONE

如果您需要的是当前数据集的快照,则可以使用BGSAVE命令将数据集保存到RDB文件中。使用LASTSAVE命令,您可以检查BGSAVE是否已完成。然后将文件复制到另一台主机,并使用Redis加载它。