婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁(yè) > 知識(shí)庫(kù) > 淺談Redis中的RDB快照

淺談Redis中的RDB快照

熱門標(biāo)簽:鄭州人工智能電銷機(jī)器人系統(tǒng) 魔獸2青云地圖標(biāo)注 貴州電銷卡外呼系統(tǒng) 山東外呼銷售系統(tǒng)招商 十堰營(yíng)銷電銷機(jī)器人哪家便宜 宿遷便宜外呼系統(tǒng)平臺(tái) 超呼電話機(jī)器人 北京400電話辦理收費(fèi)標(biāo)準(zhǔn) 日本中國(guó)地圖標(biāo)注

一、概述

所謂的快照,就是記錄某一個(gè)瞬間東西,比如當(dāng)我們給風(fēng)景拍照時(shí),那一個(gè)瞬間的畫面和信息就記錄到了一張照片。

所以,RDB 快照就是記錄某一個(gè)瞬間的內(nèi)存數(shù)據(jù),記錄的是實(shí)際數(shù)據(jù),而 AOF 文件記錄的是命令操作的日志,而不是實(shí)際的數(shù)據(jù)。

因此在 Redis 恢復(fù)數(shù)據(jù)時(shí), RDB 恢復(fù)數(shù)據(jù)的效率會(huì)比 AOF 快些,因?yàn)橹苯訉?RDB 文件讀入內(nèi)存就可以了,不需要像 AOF 那樣還需要額外執(zhí)行操作命令的步驟才能恢復(fù)數(shù)據(jù)。

接下來,就來具體聊聊 RDB 快照 。

二、快照怎么用?

要熟悉一個(gè)東西,先看看怎么用是比較好的方式。

Redis 提供了兩個(gè)命令來生成 RDB 文件,分別是 savebgsave,他們的區(qū)別就在于是否在「主線程」里執(zhí)行:

  • 執(zhí)行了 save 命令,就會(huì)在主線程生成 RDB 文件,由于和執(zhí)行操作命令在同一個(gè)線程,所以如果寫入 RDB 文件的時(shí)間太長(zhǎng),會(huì)阻塞主線程;
  • 執(zhí)行了 bgsava 命令,會(huì)創(chuàng)建一個(gè)子進(jìn)程來生成 RDB 文件,這樣可以避免主線程的阻塞;

RDB 文件的加載工作是在服務(wù)器啟動(dòng)時(shí)自動(dòng)執(zhí)行的,Redis 并沒有提供專門用于加載 RDB 文件的命令。

Redis 還可以通過配置文件的選項(xiàng)來實(shí)現(xiàn)每隔一段時(shí)間自動(dòng)執(zhí)行一次 bgsava 命令,默認(rèn)會(huì)提供以下配置:

save 900 1

save 300 10

save 60 10000

別看選項(xiàng)名叫 sava,實(shí)際上執(zhí)行的是 bgsava 命令,也就是會(huì)創(chuàng)建子進(jìn)程來生成 RDB 快照文件。

只要滿足上面條件的任意一個(gè),就會(huì)執(zhí)行 bgsava,它們的意思分別是:

  • 900 秒之內(nèi),對(duì)數(shù)據(jù)庫(kù)進(jìn)行了至少 1 次修改;
  • 300 秒之內(nèi),對(duì)數(shù)據(jù)庫(kù)進(jìn)行了至少 10 次修改;
  • 60 秒之內(nèi),對(duì)數(shù)據(jù)庫(kù)進(jìn)行了至少 10000 次修改。

這里提一點(diǎn),Redis 的快照是全量快照,也就是說每次執(zhí)行快照,都是把內(nèi)存中的「所有數(shù)據(jù)」都記錄到磁盤中。

所以可以認(rèn)為,執(zhí)行快照是一個(gè)比較重的操作,如果頻率太頻繁,可能會(huì)對(duì) Redis 性能產(chǎn)生影響。如果頻率太低,服務(wù)器故障時(shí),丟失的數(shù)據(jù)會(huì)更多。

通常可能設(shè)置至少 5 分鐘才保存一次快照,這時(shí)如果 Redis 出現(xiàn)宕機(jī)等情況,則意味著最多可能丟失 5 分鐘數(shù)據(jù)。

這就是 RDB 快照的缺點(diǎn),在服務(wù)器發(fā)生故障時(shí),丟失的數(shù)據(jù)會(huì)比 AOF 持久化的方式更多,因?yàn)?RDB 快照是全量快照的方式,因此執(zhí)行的頻率不能太頻繁,否則會(huì)影響 Redis 性能,而 AOF 日志可以以秒級(jí)的方式記錄操作命令,所以丟失的數(shù)據(jù)就相對(duì)更少。

三、執(zhí)行 bgsava 快照時(shí),數(shù)據(jù)能被修改嗎?

那問題來了,執(zhí)行 bgsava 過程中,由于是交給子進(jìn)程來構(gòu)建 RDB 文件,主線程還是可以繼續(xù)工作的,此時(shí)主線程可以修改數(shù)據(jù)嗎?

如果不可以修改數(shù)據(jù)的話,那這樣性能一下就降低了很多。如果可以修改數(shù)據(jù),又是如何做到到呢?

直接說結(jié)論吧,執(zhí)行 bgsava 過程中,Redis 依然可以繼續(xù)處理操作命令的,也就是數(shù)據(jù)是能被修改的。

那具體如何做到到呢?關(guān)鍵的技術(shù)就在于寫時(shí)復(fù)制技術(shù)(Copy-On-Write, COW)。

執(zhí)行 bgsava 命令的時(shí)候,會(huì)通過 fork() 創(chuàng)建子進(jìn)程,此時(shí)子進(jìn)程和父進(jìn)程是共享同一片內(nèi)存數(shù)據(jù)的,因?yàn)閯?chuàng)建子進(jìn)程的時(shí)候,會(huì)復(fù)制父進(jìn)程的頁(yè)表,但是頁(yè)表指向的物理內(nèi)存還是一個(gè)。

只有在發(fā)生修改內(nèi)存數(shù)據(jù)的情況時(shí),物理內(nèi)存才會(huì)被復(fù)制一份。

這樣的目的是為了減少創(chuàng)建子進(jìn)程時(shí)的性能損耗,從而加快創(chuàng)建子進(jìn)程的速度,畢竟創(chuàng)建子進(jìn)程的過程中,是會(huì)阻塞主線程的。

所以,創(chuàng)建 bgsave 子進(jìn)程后,由于共享父進(jìn)程的所有內(nèi)存數(shù)據(jù),于是就可以直接讀取主線程里的內(nèi)存數(shù)據(jù),并將數(shù)據(jù)寫入到 RDB 文件。

當(dāng)主線程對(duì)這些共享的內(nèi)存數(shù)據(jù)也都是只讀操作,那么,主線程和 bgsave 子進(jìn)程相互不影響。

但是,如果主線程要修改共享數(shù)據(jù)里的某一塊數(shù)據(jù)(比如鍵值對(duì) A)時(shí),就會(huì)發(fā)生寫時(shí)復(fù)制,于是這塊數(shù)據(jù)的物理內(nèi)存就會(huì)被復(fù)制一份(鍵值對(duì) A'),然后主線程在這個(gè)數(shù)據(jù)副本(鍵值對(duì) A')進(jìn)行修改操作。與此同時(shí),bgsave 子進(jìn)程可以繼續(xù)把原來的數(shù)據(jù)(鍵值對(duì) A)寫入到 RDB 文件。

就是這樣,Redis 使用 bgsave 對(duì)當(dāng)前內(nèi)存中的所有數(shù)據(jù)做快照,這個(gè)操作是由 bgsave 子進(jìn)程在后臺(tái)完成的,執(zhí)行時(shí)不會(huì)阻塞主線程,這就使得主線程同時(shí)可以修改數(shù)據(jù)。

細(xì)心的同學(xué),肯定發(fā)現(xiàn)了,bgsave 快照過程中,如果主線程修改了共享數(shù)據(jù),發(fā)生了寫時(shí)復(fù)制后,RDB 快照保存的是原本的內(nèi)存數(shù)據(jù),而主線程剛修改的數(shù)據(jù),是被辦法在這一時(shí)間寫入 RDB 文件的,只能交由下一次的 bgsave 快照。

所以 Redis 在使用 bgsave 快照過程中,如果主線程修改了內(nèi)存數(shù)據(jù),不管是否是共享的內(nèi)存數(shù)據(jù),RDB 快照都無(wú)法寫入主線程剛修改的數(shù)據(jù),因?yàn)榇藭r(shí)主線程的內(nèi)存數(shù)據(jù)和子線程的內(nèi)存數(shù)據(jù)已經(jīng)分離了,子線程寫入到 RDB 文件的內(nèi)存數(shù)據(jù)只能是原本的內(nèi)存數(shù)據(jù)。

如果系統(tǒng)恰好在 RDB 快照文件創(chuàng)建完畢后崩潰了,那么 Redis 將會(huì)丟失主線程在快照期間修改的數(shù)據(jù)。

另外,寫時(shí)復(fù)制的時(shí)候會(huì)出現(xiàn)這么個(gè)極端的情況。

在 Redis 執(zhí)行 RDB 持久化期間,剛 fork 時(shí),主進(jìn)程和子進(jìn)程共享同一物理內(nèi)存,但是途中主進(jìn)程處理了寫操作,修改了共享內(nèi)存,于是當(dāng)前被修改的數(shù)據(jù)的物理內(nèi)存就會(huì)被復(fù)制一份。

那么極端情況下,如果所有的共享內(nèi)存都被修改,則此時(shí)的內(nèi)存占用是原先的 2 倍。

所以,針對(duì)寫操作多的場(chǎng)景,我們要留意下快照過程中內(nèi)存的變化,防止內(nèi)存被占滿了。

四、RDB 和 AOF 合體

盡管 RDB 比 AOF 的數(shù)據(jù)恢復(fù)速度快,但是快照的頻率不好把握:

如果頻率太低,兩次快照間一旦服務(wù)器發(fā)生宕機(jī),就可能會(huì)比較多的數(shù)據(jù)丟失; 如果頻率太高,頻繁寫入磁盤和創(chuàng)建子進(jìn)程會(huì)帶來額外的性能開銷。

那有沒有什么方法不僅有 RDB 恢復(fù)速度快的優(yōu)點(diǎn)和,又有 AOF 丟失數(shù)據(jù)少的優(yōu)點(diǎn)呢?

當(dāng)然有,那就是將 RDB 和 AOF 合體使用,這個(gè)方法是在 Redis 4.0 提出的,該方法叫混合使用 AOF 日志和內(nèi)存快照,也叫混合持久化。

如果想要開啟混合持久化功能,可以在 Redis 配置文件將下面這個(gè)配置項(xiàng)設(shè)置成 yes:

aof-use-rdb-preamble yes

混合持久化工作在 AOF 日志重寫過程。

當(dāng)開啟了混合持久化時(shí),在 AOF 重寫日志時(shí),fork 出來的重寫子進(jìn)程會(huì)先將與主線程共享的內(nèi)存數(shù)據(jù)以 RDB 方式寫入到 AOF 文件,然后主線程處理的操作命令會(huì)被記錄在重寫緩沖區(qū)里,重寫緩沖區(qū)里的增量命令會(huì)以 AOF 方式寫入到 AOF 文件,寫入完成后通知主進(jìn)程將新的含有 RDB 格式和 AOF 格式的 AOF 文件替換舊的的 AOF 文件。

也就是說,使用了混合持久化,AOF 文件的前半部分是 RDB 格式的全量數(shù)據(jù),后半部分是 AOF 格式的增量數(shù)據(jù)。

這樣的好處在于,重啟 Redis 加載數(shù)據(jù)的時(shí)候,由于前半部分是 RDB 內(nèi)容,這樣加載的時(shí)候速度會(huì)很快。

加載完 RDB 的內(nèi)容后,才會(huì)加載后半部分的 AOF 內(nèi)容,這里的內(nèi)容是 Redis 后臺(tái)子進(jìn)程重寫 AOF 期間,主線程處理的操作命令,可以使得數(shù)據(jù)更少的丟失。

以上就是淺談Redis RDB快照的詳細(xì)內(nèi)容,更多關(guān)于Redis RDB的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

您可能感興趣的文章:
  • Redis 徹底禁用RDB持久化操作
  • Redis 通過 RDB 方式進(jìn)行數(shù)據(jù)備份與還原的方法
  • Redis持久化RDB和AOF區(qū)別詳解
  • Redis打開rdb文件常用方法詳解
  • redis學(xué)習(xí)之RDB、AOF與復(fù)制時(shí)對(duì)過期鍵的處理教程
  • Redis兩種持久化方案RDB和AOF詳解
  • 了解redis中RDB結(jié)構(gòu)_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理
  • Redis RDB技術(shù)底層原理詳解

標(biāo)簽:楊凌 吉安 北京 臺(tái)州 大慶 果洛 朝陽(yáng) 江蘇

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《淺談Redis中的RDB快照》,本文關(guān)鍵詞  淺談,Redis,中的,RDB,快照,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《淺談Redis中的RDB快照》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于淺談Redis中的RDB快照的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    精品视频在线免费观看| 亚洲欧美另类在线| 久久综合九色欧美综合狠狠| 91精品综合久久久久久| 69堂亚洲精品首页| 在线播放/欧美激情| 91麻豆精品国产91久久久更新时间 | 精品国产一区a| 精品国产制服丝袜高跟| 精品国产乱码久久久久久牛牛| 欧美一区二区观看视频| 欧美精品一区视频| 欧美国产精品中文字幕| 亚洲视频在线一区| 亚洲一区二区3| 日av在线不卡| 国产精品99久久久久久似苏梦涵| 高清在线不卡av| 成人高清免费在线播放| 日本道精品一区二区三区| 欧美日韩一区二区电影| 精品久久久久久久人人人人传媒| 国产日韩精品一区二区三区在线| 亚洲色图制服诱惑| 亚洲成国产人片在线观看| 青娱乐精品在线视频| 精品一区二区久久久| 成人一区二区在线观看| 欧美自拍丝袜亚洲| 欧美大片顶级少妇| 亚洲欧美在线高清| 亚洲大片免费看| 国产一区在线观看视频| av在线不卡免费看| 91精品国产综合久久精品图片| 久久品道一品道久久精品| 自拍偷自拍亚洲精品播放| 亚洲福利国产精品| 国产成人精品一区二区三区四区| 在线影院国内精品| 欧美成人一区二区| 一区二区三区欧美亚洲| 精品一区二区三区久久久| 色综合中文字幕国产| 欧美精品在线观看播放| 欧美韩日一区二区三区| 日韩电影在线看| av激情成人网| 精品黑人一区二区三区久久| 亚洲精品欧美在线| 久久99久久精品| 欧美在线一区二区| 国产精品无遮挡| 久久国产精品露脸对白| 91免费观看在线| 日韩精品一区二区三区中文不卡| 亚洲日本在线天堂| 国产激情91久久精品导航| 91精品国产综合久久久久久久 | 韩国三级在线一区| 在线视频一区二区三| 久久精品人人做人人爽人人| 天天操天天色综合| 99在线精品观看| 久久久亚洲精华液精华液精华液 | 91日韩精品一区| 久久久精品国产免大香伊| 三级欧美韩日大片在线看| av欧美精品.com| 国产日韩影视精品| 蜜臀久久99精品久久久画质超高清 | 欧美日韩在线播放三区| 国产精品天天看| 极品少妇xxxx精品少妇偷拍 | 亚洲v中文字幕| 色琪琪一区二区三区亚洲区| 欧美激情一区二区三区全黄| 久久99国产精品尤物| 欧美一区二区在线播放| 午夜国产精品影院在线观看| 日本高清不卡aⅴ免费网站| 中文字幕 久热精品 视频在线| 久久99久久精品欧美| 欧美一级爆毛片| 亚洲不卡一区二区三区| 欧美日韩一级视频| 亚洲午夜久久久久久久久电影网 | 91黄色免费看| 亚洲色图另类专区| 成人精品电影在线观看| 中文字幕+乱码+中文字幕一区| 国产精品一区二区你懂的| 欧美变态凌虐bdsm| 蜜桃视频在线观看一区二区| 制服丝袜亚洲网站| 日韩**一区毛片| 欧美一区二区三区小说| 免费美女久久99| 日韩欧美国产一区二区三区| 日韩二区在线观看| 日韩欧美黄色影院| 久久99精品久久久久久久久久久久| 欧美一区二区在线视频| 六月婷婷色综合| 久久夜色精品国产噜噜av| 国产一区二区视频在线| 国产三级精品在线| 成人黄色av网站在线| 最新中文字幕一区二区三区 | 亚洲欧洲三级电影| 日本精品一区二区三区四区的功能| 亚洲精品老司机| 欧美日韩黄视频| 日本va欧美va精品| 国产色91在线| 99r国产精品| 偷拍自拍另类欧美| 精品国产一区二区三区忘忧草| 国产福利不卡视频| 亚洲视频一区在线| 5858s免费视频成人| 狠狠色丁香久久婷婷综合_中 | 国产一区二区三区在线观看精品| 欧美激情一区在线| 在线看国产日韩| 免费观看成人鲁鲁鲁鲁鲁视频| 久久久精品免费网站| 91年精品国产| 日韩国产高清影视| 久久精品视频在线免费观看| 99国产精品久久久久久久久久久 | 91国偷自产一区二区三区观看| 亚洲va韩国va欧美va精品| 欧美精品一区二区三区一线天视频| 成人免费视频播放| 天天色天天操综合| 久久久久国产成人精品亚洲午夜| 成人听书哪个软件好| 亚洲国产日日夜夜| 久久久美女毛片| 欧美在线免费观看视频| 韩国三级中文字幕hd久久精品| 亚洲欧洲中文日韩久久av乱码| 91精品国产综合久久久久久久久久 | 亚瑟在线精品视频| 久久久精品一品道一区| 在线一区二区三区四区| 久草热8精品视频在线观看| 亚洲精品日日夜夜| 欧美精品一区二区久久婷婷| 色国产综合视频| 国产一区美女在线| 亚洲国产精品尤物yw在线观看| 久久综合九色综合欧美就去吻| 91美女视频网站| 国产精品99久久久久久久vr | 欧美美女黄视频| 成人性生交大片免费看中文网站 | 3atv一区二区三区| 91女人视频在线观看| 国内精品国产成人国产三级粉色 | 91偷拍与自偷拍精品| 国产一区二区三区四| 性欧美疯狂xxxxbbbb| 国产精品久久久久影院| 欧美成人精品1314www| 欧美三片在线视频观看| 不卡的av在线| 国产一区二区免费在线| 午夜日韩在线电影| 亚洲综合丁香婷婷六月香| 国产精品色呦呦| 国产视频一区二区在线| 欧美成人艳星乳罩| 欧美一区二区三区喷汁尤物| 在线观看国产精品网站| 97se亚洲国产综合在线| 国产毛片精品视频| 精品在线观看视频| 裸体一区二区三区| 奇米影视一区二区三区| 偷拍一区二区三区| 夜夜爽夜夜爽精品视频| 亚洲精品第一国产综合野| 国产精品久久久久影院| 国产精品青草久久| 国产色婷婷亚洲99精品小说| 精品国产乱码久久久久久图片 | 精品88久久久久88久久久| 91.com在线观看| 911精品产国品一二三产区| 欧美性猛交xxxxxxxx| 在线日韩一区二区| 色哟哟国产精品| 一本一本久久a久久精品综合麻豆| av资源站一区| av亚洲精华国产精华精华| 成人综合在线观看| 成人午夜视频免费看| 成人18视频日本|