婷婷综合国产,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一区二区在线| 国产综合色在线| 国产精品天美传媒沈樵| 精品久久久久久久久久久久久久久久久| 欧美性极品少妇| 欧美日本在线视频| 在线不卡免费av| 日韩一级精品视频在线观看| 日韩色在线观看| 欧美精品一区二区三区高清aⅴ | 欧美videossexotv100| 91精品国产综合久久久久| 欧美老女人在线| 日韩精品一区二| 国产农村妇女毛片精品久久麻豆 | 国产电影一区在线| 成人免费毛片app| 色综合色狠狠天天综合色| 欧美亚洲国产一区二区三区| 欧美精品色综合| 久久久亚洲高清| 综合久久久久久| 日日欢夜夜爽一区| 国产在线看一区| 白白色 亚洲乱淫| 欧美亚洲动漫精品| 久久色.com| 亚洲一区二区三区视频在线播放| 日韩**一区毛片| 99精品国产99久久久久久白柏 | 成人一区二区三区| 日本韩国精品在线| 欧美精品一区二| 亚洲精品视频自拍| 激情五月婷婷综合| 欧美日韩一区二区三区四区五区| 日韩一二三区视频| 亚洲色图在线看| 美国十次了思思久久精品导航| 国产最新精品精品你懂的| 欧洲一区二区三区在线| 久久综合一区二区| 亚洲成人在线免费| www.在线欧美| 欧美精品一区二区三区很污很色的| 亚洲三级在线播放| 国产福利一区二区三区在线视频| 欧美色爱综合网| 亚洲人吸女人奶水| 国产成人午夜片在线观看高清观看| 欧美日韩中文字幕一区| 国产欧美日韩亚州综合 | 国产成人精品影院| 日韩精品综合一本久道在线视频| 一区二区三区在线观看欧美| 国产成人精品午夜视频免费| 欧美成人精品福利| 亚洲成a人片综合在线| 色综合av在线| 亚洲女同ⅹxx女同tv| 国产999精品久久| 久久蜜桃av一区精品变态类天堂 | av中文字幕亚洲| 精品国产精品网麻豆系列 | 国产精品一级二级三级| 欧美一区二区高清| 日本亚洲视频在线| 欧美一区二区三区在线电影| 亚洲一区影音先锋| 色拍拍在线精品视频8848| 亚洲欧美另类小说视频| www.亚洲免费av| 亚洲色大成网站www久久九九| 懂色av一区二区夜夜嗨| 国产欧美日韩综合精品一区二区 | 日韩国产欧美视频| 678五月天丁香亚洲综合网| 五月天亚洲婷婷| 欧美一级高清片在线观看| 婷婷开心激情综合| 日韩精品自拍偷拍| 国产精品资源网站| 国产精品久久影院| 在线精品视频免费观看| 亚洲一区二区三区爽爽爽爽爽| 色嗨嗨av一区二区三区| 亚洲综合激情小说| 7777精品久久久大香线蕉| 老司机一区二区| 国产区在线观看成人精品| 99精品视频在线观看免费| 亚洲制服丝袜av| 日韩欧美在线123| 成人精品视频一区| 午夜私人影院久久久久| 精品乱人伦小说| 99久久99久久久精品齐齐| 三级欧美韩日大片在线看| 精品成人a区在线观看| 99精品久久久久久| 美女视频一区二区三区| 中文子幕无线码一区tr | 久久99国产精品尤物| 国产精品无遮挡| 欧美伦理影视网| 粉嫩嫩av羞羞动漫久久久| 亚洲成人免费电影| 欧美韩日一区二区三区四区| 欧美三电影在线| 福利一区福利二区| 天天色天天爱天天射综合| 国产嫩草影院久久久久| 欧美一区二视频| 91丨国产丨九色丨pron| 久久成人免费电影| 亚洲成人1区2区| 亚洲日本在线看| 国产亚洲欧美中文| 欧美美女一区二区在线观看| 成人av在线看| 国产一区二区三区在线看麻豆| 午夜精品123| 专区另类欧美日韩| 日本一区二区三区四区| 日韩欧美国产综合一区| 在线免费亚洲电影| 91理论电影在线观看| 国产v日产∨综合v精品视频| 蜜臀精品一区二区三区在线观看 | 亚洲精品国产一区二区精华液 | 不卡一区二区中文字幕| 韩国一区二区三区| 免费欧美在线视频| 婷婷开心久久网| 亚洲成国产人片在线观看| 亚洲精品成a人| 亚洲欧美视频在线观看| 国产精品久久久一区麻豆最新章节| 91精品视频网| 欧美一区二区三区视频在线| 91麻豆国产在线观看| 97成人超碰视| 成人少妇影院yyyy| 成人av在线资源| 99久久亚洲一区二区三区青草| 成人三级在线视频| 成人av电影在线观看| 成人免费视频国产在线观看| 国产成人h网站| 白白色 亚洲乱淫| 日本精品视频一区二区三区| 91丨九色丨国产丨porny| 色综合天天在线| 日本道在线观看一区二区| 91国产免费观看| 欧美日韩一区二区三区四区 | 蜜臀99久久精品久久久久久软件| 香蕉成人啪国产精品视频综合网 | 欧美日韩国产123区| 9191成人精品久久| 欧美tk丨vk视频| 国产日韩欧美高清在线| 中文字幕一区在线观看视频| 最新日韩av在线| 亚洲成人黄色小说| 九九国产精品视频| 国产a久久麻豆| 欧美性三三影院| 欧美一区二区私人影院日本| 26uuu精品一区二区三区四区在线| 精品国精品国产| 国产精品妹子av| 日韩高清不卡一区二区三区| 奇米精品一区二区三区四区| 国产曰批免费观看久久久| 99精品视频中文字幕| 欧美精品第1页| 国产精品色一区二区三区| 亚洲色图欧美激情| 精品一区在线看| 一本色道亚洲精品aⅴ| 欧美老年两性高潮| 国产精品美日韩| 男女男精品视频| 99久久精品免费| 久久综合国产精品| 一区二区三区四区av| 国产一区二区三区四区五区美女| www.成人在线| 日韩美一区二区三区| 亚洲精品v日韩精品| 国产精品一区二区久久精品爱涩| 欧美亚洲免费在线一区| 国产喷白浆一区二区三区| 午夜精品成人在线| 91亚洲男人天堂| 国产天堂亚洲国产碰碰| 日韩精彩视频在线观看| 91成人免费在线| 中文字幕在线观看不卡|