rdb:快照模式持久化锯仪,在redis主進(jìn)程外,另外增加一個子進(jìn)程用于rdb的工作,讓主進(jìn)程的工作不受影響连舍。rdb工作原理:每隔n分鐘或n次寫操作后,從內(nèi)存中dump數(shù)據(jù)到硬盤中涩哟,壓縮后索赏,放在備份目錄。優(yōu)點:當(dāng)數(shù)據(jù)恢復(fù)時贴彼,速度較快潜腻,直接從備份文件拉到內(nèi)存即可。缺點:在兩個dump操作之間器仗,如果有數(shù)據(jù)更改融涣,當(dāng)機(jī)器宕機(jī)時,會造成數(shù)據(jù)丟失。redis.conf配置文件默認(rèn)時打開的威鹿,具體條件保存條件可以更改妓盲。
aof:日志追加模式持久化,內(nèi)存中進(jìn)行寫入操作時专普,相應(yīng)的操作指令追加到備份文件中悯衬,具體觸發(fā)條件可以在redis.conf文件中更改,一般設(shè)為一秒一次(redis默認(rèn)時不開啟aof模式)檀夹。為了解決不斷寫入指令到備份文件導(dǎo)致的文件過大問題筋粗,aof模式會在一定條件在備份文件中進(jìn)行aof逆寫,即同一個key只保留一條指令炸渡。優(yōu)點:能保證數(shù)據(jù)完整性娜亿。缺點:數(shù)據(jù)恢復(fù)過程較緩慢。
注意蚌堵,當(dāng)同時開啟rdb和aof兩種模式時买决,數(shù)據(jù)恢復(fù)選擇的時aof模式。兩種模式都是在同一個子進(jìn)程中進(jìn)行吼畏,當(dāng)rdb開始dump數(shù)據(jù)時督赤,aof模式會阻塞,但這期間寫入的指令會放在一個隊列中泻蚊,后續(xù)再從這個隊列中寫入備份文件躲舌。