2017-05-25 40 views
0

似乎在redis服務器之間同步數據的唯一方法是使用命令slaveof,但是如何知道數據是否已成功複製?我的意思是,我想在通知剛剛完成同步。如何知道redis中的同步過程是否已經完成?

我讀過redis的一些資源代碼,主要是replication.c,並且找不到官方的東西。我現在唯一知道的方法是使用redis命令info,並通過輪詢檢查特定的標誌,這看起來很糟糕。

有沒有什麼更好的方法來做到這一點?

回答

1

您嘗試的方式,即slaveof,是在Redis主設備和Redis從設備之間同步數據。每當一些數據寫入主設備時,它將同步到從設備。所以,從技術上講,同步永遠不會是DONE

如果您想要的是當前數據集的快照,可以使用BGSAVE命令將數據集保存到RDB文件中。使用LASTSAVE命令,您可以檢查BGSAVE是否已完成。然後將該文件複製到另一臺主機,並使用Redis加載它。

相關問題