Redis專題-Redis持久化&持久化方式&持久化意義

課程大綱

1谒获、Redis持久化的意義
2、如何應(yīng)對(duì)故障的發(fā)生
3业簿、持久化方式-RDB
4瘤礁、持久化方式-AOF
5、RDB持久化機(jī)制的優(yōu)點(diǎn)與缺點(diǎn)
6梅尤、AOF持久化機(jī)制的優(yōu)點(diǎn)與缺點(diǎn)
7柜思、RDB和AOF到底該如何選擇

1、Redis持久化的意義

redis持久化的意義巷燥,在于故障恢復(fù)

2赡盘、如何應(yīng)對(duì)故障的發(fā)生

常見的故障如下圖所示:


image.png
1.比如你部署了一個(gè)redis,作為cache緩存缰揪,當(dāng)然也可以保存一些較為重要的數(shù)據(jù)
2.如果沒有持久化的話陨享,redis遇到災(zāi)難性故障的時(shí)候,就會(huì)丟失所有的數(shù)據(jù)
3.如果通過持久化將數(shù)據(jù)搞一份兒在磁盤上去,然后定期比如說同步和備份到一些云存儲(chǔ)服務(wù)上去抛姑,那么就可以保證數(shù)據(jù)不丟失全部赞厕,還是可以恢復(fù)一部分?jǐn)?shù)據(jù)回來的

3、持久化方式-RDB

RDB 持久化方式如下圖所示:


image.png
RDB持久化機(jī)制定硝,對(duì)redis中的數(shù)據(jù)執(zhí)行周期性的持久化.

4坑傅、持久化方式-AOF

AOF 持久化方式如下圖所示:

image.png
AOF機(jī)制對(duì)每條寫入命令作為日志,以append-only的模式寫入一個(gè)日志文件中喷斋,在redis重啟的時(shí)候唁毒,可以通過回放AOF日志中的寫入指令來重新構(gòu)建整個(gè)數(shù)據(jù)集

4.1、AOF rewrite 原理如下圖所示:

image.png

4.2星爪、持久化RDB-AOF注意事項(xiàng)

1.如果同時(shí)使用RDB和AOF兩種持久化機(jī)制浆西,那么在redis重啟的時(shí)候,會(huì)使用AOF來重新構(gòu)建數(shù)據(jù)顽腾,因?yàn)锳OF中的數(shù)據(jù)更加完整.

2.通過RDB或AOF近零,都可以將redis內(nèi)存中的數(shù)據(jù)給持久化到磁盤上面來,然后可以將這些數(shù)據(jù)備份到別的地方去抄肖,比如說阿里云久信,云服務(wù)

3.如果redis掛了,服務(wù)器上的內(nèi)存和磁盤上的數(shù)據(jù)都丟了漓摩,可以從云服務(wù)上拷貝回來之前的數(shù)據(jù)裙士,放到指定的目錄中,然后重新啟動(dòng)redis管毙,redis就會(huì)自動(dòng)根據(jù)持久化數(shù)據(jù)文件中的數(shù)據(jù)腿椎,去恢復(fù)內(nèi)存中的數(shù)據(jù),繼續(xù)對(duì)外提供服務(wù).

4.如果我們想要redis僅僅作為純內(nèi)存的緩存來用夭咬,那么可以禁止RDB和AOF所有的持久化機(jī)制

5啃炸、RDB持久化機(jī)制的優(yōu)點(diǎn)與缺點(diǎn)

RDB持久化機(jī)制的優(yōu)點(diǎn):
1.RDB會(huì)生定期生成新的dump數(shù)據(jù)文件,當(dāng)前時(shí)間下的數(shù)據(jù)文件都代表了某一個(gè)時(shí)刻中redis最新的數(shù)據(jù)卓舵,定時(shí)復(fù)制當(dāng)前時(shí)間最新的dump文件南用,生成多個(gè)備份文件的方式,非常適合做冷備掏湾,可以將這種完整的數(shù)據(jù)文件發(fā)送到一些遠(yuǎn)程的安全存儲(chǔ)上去裹虫,比如說Amazon的S3云服務(wù)上去,在國內(nèi)可以是阿里云的ODPS分布式存儲(chǔ)上忘巧,以預(yù)定好的備份策略來定期備份redis中的數(shù)據(jù)恒界。
2.RDB對(duì)redis對(duì)外提供的讀寫服務(wù)睦刃,影響非常小砚嘴,可以讓redis保持高性能,因?yàn)閞edis主進(jìn)程只需要fork一個(gè)子進(jìn)程,讓子進(jìn)程執(zhí)行磁盤IO操作來進(jìn)行RDB持久化即可际长。這個(gè)特性很重要耸采。
3、相對(duì)于AOF持久化機(jī)制來說工育,直接基于RDB數(shù)據(jù)文件來重啟和恢復(fù)redis進(jìn)程虾宇,更加快速。

RDB持久化機(jī)制的缺點(diǎn):
1.如果想要在redis故障時(shí)如绸,盡可能少的丟失數(shù)據(jù)嘱朽,那么RDB沒有AOF好。一般來說怔接,RDB數(shù)據(jù)快照文件搪泳,都是每隔5分鐘,或者更長時(shí)間生成一次扼脐,這個(gè)時(shí)候就得接受一旦redis進(jìn)程宕機(jī)岸军,那么會(huì)丟失最近5分鐘的數(shù)據(jù)。
2.RDB每次在fork子進(jìn)程來執(zhí)行RDB快照數(shù)據(jù)文件生成的時(shí)候瓦侮,如果數(shù)據(jù)文件特別大艰赞,可能會(huì)導(dǎo)致對(duì)客戶端提供的服務(wù)暫停數(shù)毫秒,或者甚至數(shù)秒肚吏。

6方妖、AOF持久化機(jī)制的優(yōu)點(diǎn)與缺點(diǎn)

AOF持久化機(jī)制的優(yōu)點(diǎn):
1、AOF可以更好的保護(hù)數(shù)據(jù)不丟失罚攀,一般AOF會(huì)每隔1秒吁断,通過一個(gè)后臺(tái)線程執(zhí)行一次fsync操作,最多丟失1秒鐘的數(shù)據(jù)

2坞生、AOF日志文件以append-only模式寫入仔役,所以沒有任何磁盤尋址的開銷,寫入性能非常高是己,而且文件不容易破損又兵,即使文件尾部破損,也很容易修復(fù)

3卒废、AOF日志文件即使過大的時(shí)候沛厨,出現(xiàn)后臺(tái)重寫操作,也不會(huì)影響客戶端的讀寫摔认。因?yàn)樵趓ewrite log的時(shí)候逆皮,會(huì)對(duì)其中的指導(dǎo)進(jìn)行壓縮,創(chuàng)建出一份需要恢復(fù)數(shù)據(jù)的最小日志出來参袱。再創(chuàng)建新日志文件的時(shí)候电谣,老的日志文件還是照常寫入秽梅。當(dāng)新的merge后的日志文件ready的時(shí)候,再交換新老日志文件即可剿牺。

4企垦、AOF日志文件的命令通過非常可讀的方式進(jìn)行記錄晒来,這個(gè)特性非常適合做災(zāi)難性的誤刪除的緊急恢復(fù)钞诡。比如某人不小心用flushall命令清空了所有數(shù)據(jù),只要這個(gè)時(shí)候后臺(tái)rewrite還沒有發(fā)生湃崩,那么就可以立即拷貝AOF文件荧降,將最后一條flushall命令給刪了,然后再將該AOF文件放回去攒读,就可以通過恢復(fù)機(jī)制誊抛,自動(dòng)恢復(fù)所有數(shù)據(jù)

AOF持久化機(jī)制的缺點(diǎn):
1、對(duì)于同一份數(shù)據(jù)來說整陌,AOF日志文件通常比RDB數(shù)據(jù)快照文件更大

2拗窃、AOF開啟后,支持的寫QPS會(huì)比RDB支持的寫QPS低泌辫,因?yàn)锳OF一般會(huì)配置成每秒fsync一次日志文件随夸,當(dāng)然,每秒一次fsync震放,性能也還是很高的

3宾毒、以前AOF發(fā)生過bug,就是通過AOF記錄的日志殿遂,進(jìn)行數(shù)據(jù)恢復(fù)的時(shí)候诈铛,沒有恢復(fù)一模一樣的數(shù)據(jù)出來。所以說墨礁,類似AOF這種較為復(fù)雜的基于命令日志/merge/回放的方式幢竹,比基于RDB每次持久化一份完整的數(shù)據(jù)快照文件的方式,更加脆弱一些恩静,容易有bug焕毫。不過AOF就是為了避免rewrite過程導(dǎo)致的bug,因此每次rewrite并不是基于舊的指令日志進(jìn)行merge的驶乾,而是基于當(dāng)時(shí)內(nèi)存中的數(shù)據(jù)進(jìn)行指令的重新構(gòu)建邑飒,這樣健壯性會(huì)好很多。

7级乐、RDB和AOF到底該如何選擇

1疙咸、不要僅僅使用RDB,因?yàn)槟菢訒?huì)導(dǎo)致你丟失很多數(shù)據(jù)

2风科、也不要僅僅使用AOF撒轮,因?yàn)槟菢佑袃蓚€(gè)問題乞旦,第一,你通過AOF做冷備腔召,沒有RDB做冷備杆查,來的恢復(fù)速度更快; 第二扮惦,RDB每次簡單粗暴生成數(shù)據(jù)快照臀蛛,更加健壯,可以避免AOF這種復(fù)雜的備份和恢復(fù)機(jī)制的bug

3崖蜜、綜合使用AOF和RDB兩種持久化機(jī)制浊仆,用AOF來保證數(shù)據(jù)不丟失,作為數(shù)據(jù)恢復(fù)的第一選擇; 建議使用RDB來做不同程度的冷備豫领,在AOF文件都丟失或損壞不可用的時(shí)候抡柿,還可以使用RDB來進(jìn)行快速的數(shù)據(jù)恢復(fù)。

個(gè)人博客:http://www.markfork.com
個(gè)人簡書:http://www.reibang.com/u/c169fce5179b
慕課網(wǎng):https://www.imooc.com/u/2150709/articles

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末等恐,一起剝皮案震驚了整個(gè)濱河市洲劣,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌课蔬,老刑警劉巖囱稽,帶你破解...
    沈念sama閱讀 216,591評(píng)論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異二跋,居然都是意外死亡战惊,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,448評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門扎即,熙熙樓的掌柜王于貴愁眉苦臉地迎上來吞获,“玉大人,你說我怎么就攤上這事谚鄙「骺剑” “怎么了?”我有些...
    開封第一講書人閱讀 162,823評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵闷营,是天一觀的道長撤逢。 經(jīng)常有香客問我,道長粮坞,這世上最難降的妖魔是什么蚊荣? 我笑而不...
    開封第一講書人閱讀 58,204評(píng)論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮莫杈,結(jié)果婚禮上互例,老公的妹妹穿的比我還像新娘。我一直安慰自己筝闹,他們只是感情好媳叨,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,228評(píng)論 6 388
  • 文/花漫 我一把揭開白布腥光。 她就那樣靜靜地躺著,像睡著了一般糊秆。 火紅的嫁衣襯著肌膚如雪武福。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,190評(píng)論 1 299
  • 那天痘番,我揣著相機(jī)與錄音捉片,去河邊找鬼。 笑死汞舱,一個(gè)胖子當(dāng)著我的面吹牛伍纫,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播昂芜,決...
    沈念sama閱讀 40,078評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼莹规,長吁一口氣:“原來是場噩夢(mèng)啊……” “哼!你這毒婦竟也來了泌神?” 一聲冷哼從身側(cè)響起良漱,我...
    開封第一講書人閱讀 38,923評(píng)論 0 274
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎欢际,沒想到半個(gè)月后母市,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,334評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡幼苛,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,550評(píng)論 2 333
  • 正文 我和宋清朗相戀三年窒篱,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片舶沿。...
    茶點(diǎn)故事閱讀 39,727評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡墙杯,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出括荡,到底是詐尸還是另有隱情高镐,我是刑警寧澤,帶...
    沈念sama閱讀 35,428評(píng)論 5 343
  • 正文 年R本政府宣布畸冲,位于F島的核電站嫉髓,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏邑闲。R本人自食惡果不足惜算行,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,022評(píng)論 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望苫耸。 院中可真熱鬧州邢,春花似錦、人聲如沸褪子。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,672評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至呀枢,卻和暖如春胚股,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背裙秋。 一陣腳步聲響...
    開封第一講書人閱讀 32,826評(píng)論 1 269
  • 我被黑心中介騙來泰國打工琅拌, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人残吩。 一個(gè)月前我還...
    沈念sama閱讀 47,734評(píng)論 2 368
  • 正文 我出身青樓财忽,卻偏偏與公主長得像倘核,于是被迫代替她去往敵國和親泣侮。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,619評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容