3、數據遷移原理分析
單實例與單實例之間數據遷移前兩種方法利用了主從同步及加載持久化文件,這兩種方法都很容易理解。
第三種方法使用了migrate命令。正如redis命令文檔中所述,該命令實際上在源實例中執行了dump,並在目的實例中執行了restore。Migrate命令有兩個選項,copy和replace,用於決定這個命令的行為。如果指定了copy選項,那麼源實例中的數據在遷移後不會被刪除。此外,使用replace選項可以在遷移過程中覆蓋目的實例中已有的鍵。
單實例與一個redis集群間的數據遷移。前兩種方法利用了aof持久化做為數據遷移的媒介。第三中方法實際在內部使用了scan和migrate命令從源實例向集群的一個節點複製鍵。通過計算鍵和槽的映射,redis-trib.rb腳本會直接把鍵發送到相應的槽。所以,我們不需要重新定位鍵或進行槽分片。
閱讀更多 HelloWorld應用 的文章