Redis 持久化之RDB持久化

Redis 相對(duì)于其他NoSQL 內(nèi)存數(shù)據(jù)庫而言壮啊,除了更富的數(shù)據(jù)結(jié)構(gòu)和速度快之外嫉鲸,Redis 的豐富的持久化方案也就一個(gè)很顯著的優(yōu)勢(shì),Redis 支持RDB歹啼、AOF玄渗、混合持久化三種模式。RDB(snapshotting) 是一種內(nèi)存快照的方式進(jìn)行持久化狸眼,AOF(append-only-file)是通過追加寫入命令的方式進(jìn)行持久化藤树,混合持久化是指RDB和AOF協(xié)同完成持久化工作來發(fā)揮各自有點(diǎn)的持久化方式。

本篇講的是RDB持久化:

上面提到了RDB文件實(shí)際上是一種內(nèi)存快照拓萌,直接截取某個(gè)時(shí)間點(diǎn)的Redis中的全部數(shù)據(jù)岁钓,很顯然特點(diǎn)是恢復(fù)速度會(huì)很快(將快照加載到內(nèi)存中),然后RDB文件是一個(gè)很緊湊的二進(jìn)制文件適合保存。但是也存在一定的缺點(diǎn)甜紫,在創(chuàng)建RDB快照之后來的命令及產(chǎn)生的數(shù)據(jù)變動(dòng)相當(dāng)于是無法進(jìn)行持久化記錄的(無法實(shí)時(shí)保存降宅,另外bgsave代價(jià)還挺高的,save又會(huì)阻塞redis)囚霸,所以說備份到斷電這段時(shí)間是存在一定的數(shù)據(jù)不一致情況的,并且RDB持久化出來的RDB快照很有可能存在版本兼容問題(不能適用于其他版本的Redis 集群)激才。

RDB 持久化有自動(dòng)觸發(fā)拓型、手動(dòng)觸發(fā)兩種方式。

自動(dòng)觸發(fā)

具體可以看一下redis.conf 中的配置項(xiàng)及對(duì)應(yīng)注釋來了解這一部分內(nèi)容瘸恼,翻一下注釋就很明了了:

當(dāng)達(dá)到如下條件的時(shí)候就出發(fā)自動(dòng)持久化劣挫,這種持久化在后臺(tái)進(jìn)行的bgsave

先看一下save選項(xiàng):

save 900 1:表示900 秒內(nèi)如果至少有 1 個(gè) key 的值變化,則保存

save 300 10:表示300 秒內(nèi)如果至少有 10 個(gè) key 的值變化东帅,則保存

save 60 10000:表示60 秒內(nèi)如果至少有 10000 個(gè) key 的值變化压固,則保存

image.png

再看下一段,RDB持久化時(shí)靠闭,redis 默認(rèn)不接受寫請(qǐng)求帐我,但不阻斷讀請(qǐng)求(是一種讀寫分離的方式)。

stop-writes-on-bgsave-error :默認(rèn)值為yes愧膀。當(dāng)啟用了RDB且最后一次后臺(tái)保存數(shù)據(jù)失敗拦键,Redis是否停止接收數(shù)據(jù)。這會(huì)讓用戶意識(shí)到數(shù)據(jù)沒有正確持久化到磁盤上檩淋,否則沒有人會(huì)注意到災(zāi)難(disaster)發(fā)生了芬为。如果Redis重啟了师坎,那么又可以重新開始接收數(shù)據(jù)了

rdbcompression 飒泻;默認(rèn)值是yes。對(duì)于存儲(chǔ)到磁盤中的快照侯嘀,可以設(shè)置是否進(jìn)行壓縮存儲(chǔ)日戈。如果是的話询张,redis會(huì)采用LZF算法進(jìn)行壓縮。如果你不想消耗CPU來進(jìn)行壓縮的話涎拉,可以設(shè)置為關(guān)閉此功能瑞侮,但是存儲(chǔ)在磁盤上的快照會(huì)比較大。

rdbchecksum :默認(rèn)值是yes鼓拧。在存儲(chǔ)快照后半火,我們還可以讓redis使用CRC64算法來進(jìn)行數(shù)據(jù)校驗(yàn),但是這樣做會(huì)增加大約10%的性能消耗季俩,如果希望獲取到最大的性能提升钮糖,可以關(guān)閉此功能。

dbfilename :設(shè)置快照的文件名,默認(rèn)是 dump.rdb

dir:設(shè)置快照文件的存放路徑店归,這個(gè)配置項(xiàng)一定是個(gè)目錄阎抒,而不能是文件名。默認(rèn)是和當(dāng)前配置文件保存在同一目錄消痛。

image.png

總體來說且叁,就是達(dá)到save的觸發(fā)條件時(shí),默認(rèn)bgsave 將內(nèi)存快照保存到當(dāng)前redis.conf 同級(jí)目錄下秩伞。

手動(dòng)觸發(fā)

save

這個(gè)命令會(huì)阻塞Redis 服務(wù)器逞带,一直到save命令執(zhí)行完才會(huì)接受其他的新的處理命令。

bgsave

bgsave時(shí)會(huì)創(chuàng)建一個(gè)fork一個(gè)子進(jìn)程纱新,RDB持久化工作由子進(jìn)程進(jìn)行展氓。僅fork期間會(huì)阻塞接收新的處理命令。

恢復(fù):

數(shù)據(jù)恢復(fù)的過程脸爱,整個(gè)Redis 都是被阻塞在那里的遇汞,一直到持久化完成才正常工作。具體恢復(fù)步驟就是把文件移到剛才dir指定的文件下簿废,然后啟動(dòng)redis 就可以啦空入。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市捏鱼,隨后出現(xiàn)的幾起案子执庐,更是在濱河造成了極大的恐慌,老刑警劉巖导梆,帶你破解...
    沈念sama閱讀 218,546評(píng)論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件轨淌,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡看尼,警方通過查閱死者的電腦和手機(jī)递鹉,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,224評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來藏斩,“玉大人躏结,你說我怎么就攤上這事≌颍” “怎么了媳拴?”我有些...
    開封第一講書人閱讀 164,911評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)兆览。 經(jīng)常有香客問我屈溉,道長(zhǎng),這世上最難降的妖魔是什么抬探? 我笑而不...
    開封第一講書人閱讀 58,737評(píng)論 1 294
  • 正文 為了忘掉前任子巾,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘线梗。我一直安慰自己椰于,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,753評(píng)論 6 392
  • 文/花漫 我一把揭開白布仪搔。 她就那樣靜靜地躺著瘾婿,像睡著了一般。 火紅的嫁衣襯著肌膚如雪僻造。 梳的紋絲不亂的頭發(fā)上憋他,一...
    開封第一講書人閱讀 51,598評(píng)論 1 305
  • 那天,我揣著相機(jī)與錄音髓削,去河邊找鬼。 笑死镀娶,一個(gè)胖子當(dāng)著我的面吹牛立膛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播梯码,決...
    沈念sama閱讀 40,338評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼宝泵,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了轩娶?” 一聲冷哼從身側(cè)響起儿奶,我...
    開封第一講書人閱讀 39,249評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎鳄抒,沒想到半個(gè)月后闯捎,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,696評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡许溅,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,888評(píng)論 3 336
  • 正文 我和宋清朗相戀三年瓤鼻,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片贤重。...
    茶點(diǎn)故事閱讀 40,013評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡茬祷,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出并蝗,到底是詐尸還是另有隱情祭犯,我是刑警寧澤,帶...
    沈念sama閱讀 35,731評(píng)論 5 346
  • 正文 年R本政府宣布滚停,位于F島的核電站沃粗,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏铐刘。R本人自食惡果不足惜陪每,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,348評(píng)論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧檩禾,春花似錦挂签、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,929評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至戏售,卻和暖如春侨核,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背灌灾。 一陣腳步聲響...
    開封第一講書人閱讀 33,048評(píng)論 1 270
  • 我被黑心中介騙來泰國(guó)打工搓译, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人锋喜。 一個(gè)月前我還...
    沈念sama閱讀 48,203評(píng)論 3 370
  • 正文 我出身青樓些己,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親嘿般。 傳聞我的和親對(duì)象是個(gè)殘疾皇子段标,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,960評(píng)論 2 355

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

  • 一、Redis高可用概述 在介紹Redis高可用之前炉奴,先說明一下在Redis的語境中高可用的含義逼庞。 我們知道,在w...
    空語閱讀 1,597評(píng)論 0 2
  • 企業(yè)級(jí)redis集群架構(gòu)的特點(diǎn) 海量數(shù)據(jù) 高并發(fā) 高可用 要達(dá)到高可用瞻赶,持久化是不可減少的赛糟,持久化主要是做災(zāi)難恢復(fù)...
    lucode閱讀 2,206評(píng)論 0 7
  • 轉(zhuǎn)載 Redis 是一個(gè)開源( BSD 許可)的,內(nèi)存中的數(shù)據(jù)結(jié)構(gòu)存儲(chǔ)系統(tǒng)共耍,它可以用作數(shù)據(jù)庫虑灰、緩存和消息中間件. ...
    大先生居然都有人用了閱讀 1,148評(píng)論 0 0
  • 對(duì)象數(shù)組、指針 對(duì)象數(shù)組不能通過參數(shù)傳遞初始化痹兜,要么默認(rèn)構(gòu)造函數(shù)穆咐。要么構(gòu)造函數(shù)有默認(rèn)參數(shù)。 內(nèi)存空間的訪問方式: ...
    張正戈hg閱讀 209評(píng)論 0 0
  • 今天又在不停的跟6位朋友講微排記的模式字旭。聽完以后有兩位朋友決定对湃,立馬付款。 是什么打動(dòng)了這樣的兩位朋友遗淳,就是解決了...
    3羊集團(tuán)閱讀 124評(píng)論 0 1