0
似乎在redis服務器之間同步數據的唯一方法是使用命令slaveof
,但是如何知道數據是否已成功複製?我的意思是,我想在通知剛剛完成同步。如何知道redis中的同步過程是否已經完成?
我讀過redis的一些資源代碼,主要是replication.c
,並且找不到官方的東西。我現在唯一知道的方法是使用redis命令info
,並通過輪詢檢查特定的標誌,這看起來很糟糕。
有沒有什麼更好的方法來做到這一點?
似乎在redis服務器之間同步數據的唯一方法是使用命令slaveof
,但是如何知道數據是否已成功複製?我的意思是,我想在通知剛剛完成同步。如何知道redis中的同步過程是否已經完成?
我讀過redis的一些資源代碼,主要是replication.c
,並且找不到官方的東西。我現在唯一知道的方法是使用redis命令info
,並通過輪詢檢查特定的標誌,這看起來很糟糕。
有沒有什麼更好的方法來做到這一點?
您嘗試的方式,即slaveof
,是在Redis主設備和Redis從設備之間同步數據。每當一些數據寫入主設備時,它將同步到從設備。所以,從技術上講,同步永遠不會是DONE。
如果您想要的是當前數據集的快照,可以使用BGSAVE
命令將數據集保存到RDB
文件中。使用LASTSAVE
命令,您可以檢查BGSAVE
是否已完成。然後將該文件複製到另一臺主機,並使用Redis加載它。