1、RDB就是把數(shù)據(jù)以快照的形式保存在磁盤上克伊,也是默認(rèn)的持久化方式酥郭,提供了三種機(jī)制:save、bgsave答毫、自動化。
(1)save觸發(fā)方式季春,執(zhí)行save命令其間洗搂,redis不能處理其他命令;
(2)bgsave觸發(fā)方式载弄,redis 會在后臺異步進(jìn)行快照操作耘拇,能同時處理其他命令,具體操作是redis進(jìn)程執(zhí)行fork操作創(chuàng)建子進(jìn)程宇攻,RDB持久化過程由子進(jìn)程負(fù)責(zé)惫叛,完成后自動結(jié)束,fork階段會發(fā)生阻塞逞刷,但一般時間很短嘉涌,這也是RDB持久化方式默認(rèn)采用的機(jī)制;
(3)自動觸發(fā)是配置文件觸發(fā)夸浅,在redis.conf配置文件中仑最,①save,save 300 10帆喇,表示300 秒內(nèi)如果至少有 10 個 key 的值變化警医,則保存;②stop-writes-on-bgsave-error :默認(rèn)值為yes坯钦,當(dāng)啟用了RDB且最后一次后臺保存數(shù)據(jù)失敗预皇,redis是否停止接收數(shù)據(jù);③rdbcompression 婉刀;默認(rèn)值是yes吟温,設(shè)置是否進(jìn)行壓縮存儲;④rdbchecksum :默認(rèn)值是yes突颊,是否讓redis使用CRC64算法來進(jìn)行數(shù)據(jù)校驗溯街;⑤dbfilename :設(shè)置快照的文件名诱桂,默認(rèn)是 dump.rdb;⑥dir:設(shè)置快照文件的存放路徑
(4)優(yōu)勢以及劣勢呈昔,RDB 在恢復(fù)大數(shù)據(jù)集時的速度比 AOF 的恢復(fù)速度要快挥等,非常適合用于進(jìn)行備份和災(zāi)難恢復(fù),但在在快照持久化期間修改的數(shù)據(jù)不會被保存堤尾,可能丟失數(shù)據(jù)
2肝劲、AOF也有三種觸發(fā)機(jī)制:每修改同步always、每秒同步everysec郭宝、不同no辞槐。
(1)每修改同步always:每次發(fā)生數(shù)據(jù)變更會被立即記錄到磁盤,性能差但是數(shù)據(jù)完整
(2)每秒同步everysec:異步操作粘室,每秒記錄 如果一秒內(nèi)宕機(jī)榄檬,有1s數(shù)據(jù)丟失
(3)不同no:依據(jù)操作系統(tǒng),不用管但不可控
?(4)優(yōu)勢以及劣勢,后臺運行衔统,寫入性能非常高鹿榜,文件不容易破損,非常適合做災(zāi)難性的誤刪除的緊急恢復(fù)