Redis 默認(rèn)是磁盤復(fù)制,但是如果使用比較低速的磁盤,這種操作會(huì)給主服務(wù)器帶來較大的壓力。Redis從2.8.18版本開始嘗試支持無磁盤的復(fù)制。使用這種設(shè)置時(shí),子進(jìn)程直接將RDB通過網(wǎng)絡(luò)發(fā)送給從服務(wù)器,不使用磁盤作為中間存儲(chǔ)。
無磁盤復(fù)制模式:master創(chuàng)建一個(gè)新進(jìn)程直接dump RDB到slave的socket,不經(jīng)過主進(jìn)程,不經(jīng)過硬盤。適用于disk較慢,并且網(wǎng)絡(luò)較快的時(shí)候。
使用repl-diskless-sync配置參數(shù)來啟動(dòng)無磁盤復(fù)制。
使用repl-diskless-sync-delay 參數(shù)來配置傳輸開始的延遲時(shí)間;master等待一個(gè)repl-diskless-sync-delay的秒數(shù),如果沒slave來的話,就直接傳,后來的得排隊(duì)等了; 否則就可以一起傳。