1、什麼事全量複製與部分複製?redis
全量複製:通常用於初次複製場景,Redis早期支持的複製功能只有全量複製,它會把主節點所有數據一次性發送給從節點,當數據量較大時,會對主從節點和網絡形成很大的開銷.網絡
部分複製:用於處理在主從複製中因網絡閃斷等緣由形成的數據丟失場景,當從節點再次連上主節點後,若是條件容許,主節點會補發丟失數據給從節點。由於補發的數據遠遠小於全量數據,能夠有效避免全量複製的太高開銷。ide
部分複製是對老版複製的重大優化,有效避免了沒必要要的全量複製操做。優化
2、全量複製的邏輯server
redis服務節點啓動時,會產生一個run_id標識(服務重啓時run_id會發生變化)。slave節點會記住master節點的run_id,在複製主節點的過程當中發現master節點的run_id發生,將會進行全量複製。it
認識run_idast
info server#class
3、部分複製的邏輯
部分複製即複製偏移量。
經過對比主從節點的複製偏移量,能夠判斷主從節點數據是否一致。數據