Redis數(shù)據(jù)持久化之RDB-AOF混合方式

redis4.0相對與3.X版本其中一個比較大的變化是4.0添加了新的混合持久化方式。前面已經(jīng)詳細介紹了AOF持久化以及RDB持久化,這里介紹的混合持久化就是同時結合RDB持久化以及AOF持久化混合寫入AOF文件煮剧。這樣做的好處是可以結合 rdb 和 aof 的優(yōu)點, 快速加載同時避免丟失過多的數(shù)據(jù)鹦赎,缺點是 aof 里面的 rdb 部分就是壓縮格式不再是 aof 格式,可讀性差猾瘸。

開啟混合持久化

4.0版本的混合持久化默認關閉的界赔,通過aof-use-rdb-preamble配置參數(shù)控制丢习,yes則表示開啟,no表示禁用淮悼,默認是禁用的咐低,可通過config set修改。

混合持久化過程

了解了AOF持久化過程和RDB持久化過程以后袜腥,混合持久化過程就相對簡單了见擦。

混合持久化同樣也是通過bgrewriteaof完成的,不同的是當開啟混合持久化時羹令,fork出的子進程先將共享的內存副本全量的以RDB方式寫入aof文件鲤屡,然后在將重寫緩沖區(qū)的增量命令以AOF方式寫入到文件,寫入完成后通知主進程更新統(tǒng)計信息福侈,并將新的含有RDB格式和AOF格式的AOF文件替換舊的的AOF文件酒来。簡單的說:新的AOF文件前半段是RDB格式的全量數(shù)據(jù)后半段是AOF格式的增量數(shù)據(jù),如下圖:


數(shù)據(jù)恢復

當我們開啟了混合持久化時肪凛,啟動redis依然優(yōu)先加載aof文件役首,aof文件加載可能有兩種情況如下:

aof文件開頭是rdb的格式, 先加載 rdb內容再加載剩余的 aof。

aof文件開頭不是rdb的格式显拜,直接以aof格式加載整個文件衡奥。

實踐?

?開啟混合持久化,并在開啟后立馬執(zhí)行寫操作远荠,為了證實混合持久化的后半部分AOF過程

查看日志:

此時的aof文件已經(jīng)和只開啟AOF持久化文件不一樣了档址,上半部分是RDB持久化的數(shù)據(jù),下半部分是AOF格式數(shù)據(jù)尼摹。


優(yōu)缺點?

?RDB

優(yōu)點:

RDB?是一個非常緊湊(compact)的文件,體積小惯吕,因此在傳輸速度上比較快废登,因此適合災難恢復。?

RDB?可以最大化Redis?的性能:父進程在保存RDB?文件時唯一要做的就是fork出一個子進程搔体,然后這個子進程就會處理接下來的所有保存工作,父進程無須執(zhí)行任何磁盤I/O?操作。

RDB?在恢復大數(shù)據(jù)集時的速度比AOF?的恢復速度要快梁钾。

缺點:

RDB是一個快照過程,無法完整的保存所以數(shù)據(jù)拇勃,尤其在數(shù)據(jù)量比較大時候蟀架,一旦出現(xiàn)故障丟失的數(shù)據(jù)將更多钩述。

當redis中數(shù)據(jù)集比較大時候所禀,RDB由于RDB方式需要對數(shù)據(jù)進行完成拷貝并生成快照文件恭金,fork的子進程會耗CPU,并且數(shù)據(jù)越大,RDB快照生成會越耗時罗侯。

RDB文件是特定的格式诊县,閱讀性差垂睬,由于格式固定,可能存在不兼容情況。

AOF 

優(yōu)點:

數(shù)據(jù)更完整,秒級數(shù)據(jù)丟失(取決于設置fsync策略)菩佑。

兼容性較高,由于是基于redis通訊協(xié)議而形成的命令追加方式混巧,無論何種版本的redis都兼容陨亡,再者aof文件是明文的蛙埂,可閱讀性較好止吁。

缺點:

數(shù)據(jù)文件體積較大,即使有重寫機制盼理,但是在相同的數(shù)據(jù)集情況下畴椰,AOF文件通常比RDB文件大抓艳。

相對RDB方式片任,AOF速度慢于RDB位他,并且在數(shù)據(jù)量大時候泼橘,恢復速度AOF速度也是慢于RDB靡菇。

由于頻繁地將命令同步到文件中厦凤,AOF持久化對性能的影響相對RDB較大违柏,但是對于我們來說是可以接受的博烂。

混合持久化

優(yōu)點:

混合持久化結合了RDB持久化 和 AOF 持久化的優(yōu)點, 由于絕大部分都是RDB格式,加載速度快漱竖,同時結合AOF,增量的數(shù)據(jù)以AOF方式保存了,數(shù)據(jù)更少的丟失。

缺點:

兼容性差,一旦開啟了混合持久化努溃,在4.0之前版本都不識別該aof文件,同時由于前部分是RDB格式哮塞,閱讀性較差


相關命令

aof文件檢查

redis-check-aof /etc/redis/appendonly.aof

rdb文件檢查

redis-check-rdb /etc/redis/dump.rdb

查看持久化信息

info Persistence

查看狀態(tài)信息

info stats

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末如失,一起剝皮案震驚了整個濱河市掂之,隨后出現(xiàn)的幾起案子冯乘,更是在濱河造成了極大的恐慌晒夹,老刑警劉巖裆馒,帶你破解...
    沈念sama閱讀 206,378評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異丐怯,居然都是意外死亡喷好,警方通過查閱死者的電腦和手機读跷,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,356評論 2 382
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來效览,“玉大人丐枉,你說我怎么就攤上這事哆键。” “怎么了瘦锹?”我有些...
    開封第一講書人閱讀 152,702評論 0 342
  • 文/不壞的土叔 我叫張陵籍嘹,是天一觀的道長闪盔。 經(jīng)常有香客問我,道長辱士,這世上最難降的妖魔是什么泪掀? 我笑而不...
    開封第一講書人閱讀 55,259評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮颂碘,結果婚禮上异赫,老公的妹妹穿的比我還像新娘。我一直安慰自己凭涂,他們只是感情好祝辣,可當我...
    茶點故事閱讀 64,263評論 5 371
  • 文/花漫 我一把揭開白布贴妻。 她就那樣靜靜地躺著切油,像睡著了一般。 火紅的嫁衣襯著肌膚如雪名惩。 梳的紋絲不亂的頭發(fā)上澎胡,一...
    開封第一講書人閱讀 49,036評論 1 285
  • 那天,我揣著相機與錄音娩鹉,去河邊找鬼攻谁。 笑死,一個胖子當著我的面吹牛弯予,可吹牛的內容都是我干的戚宦。 我是一名探鬼主播,決...
    沈念sama閱讀 38,349評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼锈嫩,長吁一口氣:“原來是場噩夢啊……” “哼受楼!你這毒婦竟也來了?” 一聲冷哼從身側響起呼寸,我...
    開封第一講書人閱讀 36,979評論 0 259
  • 序言:老撾萬榮一對情侶失蹤艳汽,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后对雪,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體河狐,經(jīng)...
    沈念sama閱讀 43,469評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 35,938評論 2 323
  • 正文 我和宋清朗相戀三年瑟捣,在試婚紗的時候發(fā)現(xiàn)自己被綠了馋艺。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,059評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡迈套,死狀恐怖捐祠,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情交汤,我是刑警寧澤雏赦,帶...
    沈念sama閱讀 33,703評論 4 323
  • 正文 年R本政府宣布劫笙,位于F島的核電站,受9級特大地震影響星岗,放射性物質發(fā)生泄漏填大。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,257評論 3 307
  • 文/蒙蒙 一俏橘、第九天 我趴在偏房一處隱蔽的房頂上張望允华。 院中可真熱鬧,春花似錦寥掐、人聲如沸靴寂。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,262評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽百炬。三九已至,卻和暖如春污它,著一層夾襖步出監(jiān)牢的瞬間剖踊,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,485評論 1 262
  • 我被黑心中介騙來泰國打工衫贬, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留德澈,地道東北人。 一個月前我還...
    沈念sama閱讀 45,501評論 2 354
  • 正文 我出身青樓固惯,卻偏偏與公主長得像梆造,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子葬毫,可洞房花燭夜當晚...
    茶點故事閱讀 42,792評論 2 345

推薦閱讀更多精彩內容