1)復制特點
一個Master可以有多個Slave
Master以非阻塞方式同步數據至Slave
Slave支持鏈式復制
可以讓master負責寫操作,各Slave負責讀操作
2)Redis主從復制的工作原理
Redis主服務器會通過ping check的方式檢查redis從服務器是否在線,如果slave在線,則master主庫把內存中的數據同步到slave中,當然slave端也可以向主服務器發送請求同步數據的命令,slave收到后,保存到本地文件中,然后slave把新文件裝載到內存中,完成數據重建
* 從服務器連接主服務器,發送SYNC命令請求同步數據
* 主服務器收到sync命令后,開始執行BGSAVE命令生成RDB文件并使用緩沖區記錄此后執行的所有寫命令
* 主服務器BGSAVE執行完畢后,向所有從服務器發送快照文件,并在發送期間繼續記錄被執行的寫命令
* 從服務器收到快照文件后丟棄所有舊數據,載入收到的快照
* 主服務器快照發送完畢后開始向從服務器發送緩沖區中的寫命令
* 從服務器完成對快照的載入,開始接收命令請求,并執行來自主服務器緩沖區的寫命令
Redis增量復制是指Slave初始化后開始正常工作時主服務器發生的寫操作同步到從服務器的過程。 增量復制的過程主要是主服務器每執行一個寫命令就會向從服務器發送相同的寫命令,從服務器接收并執行收到的寫命令。