国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【Redis】Redis持久化機(jī)制RDB與AOF

這篇具有很好參考價(jià)值的文章主要介紹了【Redis】Redis持久化機(jī)制RDB與AOF。希望對大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

目錄

一、RDB

1、概念

2、RDB文件保存

3、執(zhí)行RDB

4、觸發(fā)RDB

5、fork原理

6、RDB的缺點(diǎn)

二、AOF

1、概念

2、開啟AOF

3、觸發(fā)AOF

4、觸發(fā)重寫AOF

三、區(qū)別


一、RDB

1、概念

RDB全稱為Redis Database Backup File(Redis數(shù)據(jù)備份文件),也叫做Redis數(shù)據(jù)快照。簡單的來說就是把某一時(shí)刻Redis內(nèi)存里的數(shù)據(jù)都記錄到磁盤中,當(dāng)Redis實(shí)例故障重啟后,從磁盤讀取快照文件恢復(fù)數(shù)據(jù)

2、RDB文件保存

在Redis的配置文件中我們可以修改RDB文件的相關(guān)配置,比如RDB文件的保存路徑,與該文件是否壓縮

rdbcompression yes? # 是否壓縮、不建議開啟,壓縮文件會消耗CPU

dbfilename dump.rdb # RDB文件的名稱

dir ./ # 文件保存路徑,默認(rèn)保存到當(dāng)前運(yùn)行目錄

3、執(zhí)行RDB

在Redis的客戶端,我們可以通過save與bgsave執(zhí)行快照操作,兩者的區(qū)別是save是占用主進(jìn)程去執(zhí)行,而bgsave是開啟一個(gè)子進(jìn)程去執(zhí)行,我們知道Redis是單進(jìn)程的,我們?nèi)绻褂胹ave命令時(shí),這個(gè)命令會占用當(dāng)前進(jìn)程使得其他命令阻塞等待,通常在Redis服務(wù)關(guān)閉時(shí)執(zhí)行一次save命令

4、觸發(fā)RDB

我們可以在Redis的配置文件中修改觸發(fā)RDB的規(guī)則

save 900 1? ? ? ?# 900秒內(nèi),如果至少有一個(gè)key被修改 則執(zhí)行bgsave

save 300 10??? # 300秒內(nèi),如果至少有十個(gè)key被修改 則執(zhí)行bgsave

save 600 10000? # 600秒內(nèi),如果至少有一萬個(gè)key被修改 則執(zhí)行bgsave

5、fork原理

bgsave在執(zhí)行的時(shí)候會fork主進(jìn)程得到子進(jìn)程,子進(jìn)程是共享主進(jìn)程的內(nèi)存數(shù)據(jù)的,在完成fork后讀取內(nèi)存中的數(shù)據(jù)寫入RDB文件,在子進(jìn)程fork主進(jìn)程時(shí)也是阻塞的。fork的過程中會將主進(jìn)程的頁表進(jìn)行復(fù)制也就是將虛擬內(nèi)存進(jìn)行拷貝(虛擬內(nèi)存可以映射到物理內(nèi)存),然后通過該頁表操作主進(jìn)程的內(nèi)存數(shù)據(jù),此時(shí)如果在子進(jìn)程RDB的過程中,主進(jìn)程進(jìn)行了寫操作,則可能會導(dǎo)致臟讀,為了避免臟讀,此時(shí)主進(jìn)程進(jìn)行寫操作時(shí)會話拷貝一份數(shù)據(jù)副本進(jìn)行寫操作【Redis】Redis持久化機(jī)制RDB與AOF

6、RDB的缺點(diǎn)

RDB的執(zhí)行間隔時(shí)間長,兩次RDB之間寫入數(shù)據(jù)有丟失風(fēng)險(xiǎn),如果在第一次寫入成功后第二次RDB之前Redis宕機(jī)則這個(gè)過程的數(shù)據(jù)會丟失,而且fork子進(jìn)程、壓縮、寫出RDB文件都比較耗時(shí)

二、AOF

1、概念

AOF全稱Append Only File(追加文件),Redis處理的沒有寫操作命令都會記錄在AOF文件中,可以看作為命令日志文件

2、開啟AOF

AOF默認(rèn)是關(guān)閉的。需要修改Redis的配置文件來開啟

appendony yes # 開啟

appendfilename “文件名“

3、觸發(fā)AOF

AOF的命令記錄頻率也是可以通過Redis配置文件進(jìn)行修改的

apppendfsync alaways # 執(zhí)行一次命令立即記錄到AOF文件中

apppendfsync everysec # 寫命令先存入AOF緩沖區(qū),然后每個(gè)1s將緩沖區(qū)的數(shù)據(jù)寫入AOF是默認(rèn)選項(xiàng)?

apppendfsync no #? 寫命令存入AOF緩沖區(qū),由操作系統(tǒng)決定何時(shí)寫入AOF

配置 刷盤時(shí)機(jī) 優(yōu)點(diǎn) 缺點(diǎn)
alaways 同步刷盤 可靠性高,數(shù)據(jù)不易丟失 性能影響大
everysec 每秒刷盤 性能中 最多丟失1s數(shù)據(jù)
no 操作系統(tǒng)控制 性能最好 可靠性差,易丟失大量數(shù)據(jù)

4、觸發(fā)重寫AOF

AOF是記錄寫命令,AOF會比RDB文件大得多,而AOF會記錄對一個(gè)key的多次寫操作,但是只有最后一次才有意義。我們可以通過bgrewriteaoff來觸發(fā)AOF文件執(zhí)行重寫,用最少的命令達(dá)到同樣的效果,在配置文件中可以配置觸發(fā)重寫的規(guī)則

auto-aof-rewrite-percentage 100 # AOF文件比上次的文件增長超過多少百分比重寫

auto-aof-rewrite-min-size 64mb # AOF文件體積最小多大以上觸發(fā)重寫

三、區(qū)別

【Redis】Redis持久化機(jī)制RDB與AOF文章來源地址http://www.zghlxwxcb.cn/news/detail-477782.html

到了這里,關(guān)于【Redis】Redis持久化機(jī)制RDB與AOF的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 【Redis7】Redis7 持久化(重點(diǎn):RDB與AOF重寫機(jī)制)

    【Redis7】Redis7 持久化(重點(diǎn):RDB與AOF重寫機(jī)制)

    ?【大家好,我是愛干飯的猿,本文重點(diǎn)介紹Redis7 持久化(重點(diǎn):RDB與AOF重寫機(jī)制)。 后續(xù)會繼續(xù)分享Redis7和其他重要知識點(diǎn)總結(jié),如果喜歡這篇文章,點(diǎn)個(gè)贊??,關(guān)注一下吧】 上一篇文章:《【Redis7】Redis7 十大數(shù)據(jù)類型》 目錄 ??1. RDB(Redis Data Base) 1.1 什么是RDB 1.2 R

    2023年04月14日
    瀏覽(31)
  • 【Redis】持久化機(jī)制詳解:從RDB到AOF,你需要知道的一切

    【Redis】持久化機(jī)制詳解:從RDB到AOF,你需要知道的一切

    ?本文是Redis系列第2篇,其他內(nèi)容歡迎移步 【Redis】不卡殼的 Redis 學(xué)習(xí)之路:從十大數(shù)據(jù)類型開始入手_AQin1012的博客-CSDN博客 關(guān)于Redis的數(shù)據(jù)類型,各個(gè)文章總有些小不同,我們這里討論的是Redis 7.0,為確保準(zhǔn)確,我們直接看官網(wǎng)。 https://blog.csdn.net/aqin1012/article/details/1303650

    2024年02月05日
    瀏覽(22)
  • redis持久化【RDB+AOF】持久化雙雄

    redis持久化【RDB+AOF】持久化雙雄

    這是redis系列文章之《redis持久化【RDB+AOF】持久化雙雄》,上一篇文章【redis基礎(chǔ)】redis的十大數(shù)據(jù)類型_努力努力再努力mlx的博客-CSDN博客 感謝大家的支持~ 目錄 RDB 什么是RDB RDB的作用 配置文件關(guān)于RDB部分? 6vs7 操作步驟 修改配置文件(本案例設(shè)置5s修改2次) 修改dump文件的保

    2024年02月08日
    瀏覽(48)
  • Redis兩種持久化方案RDB持久化和AOF持久化

    Redis兩種持久化方案RDB持久化和AOF持久化

    Redis持久化 Redis有兩種持久化方案: RDB持久化 AOF持久化 1.1.RDB持久化 RDB全稱Redis Database Backup file(Redis數(shù)據(jù)備份文件),也被叫做Redis數(shù)據(jù)快照。簡單來說就是把內(nèi)存中的所有數(shù)據(jù)都記錄到磁盤中。當(dāng)Redis實(shí)例故障重啟后,從磁盤讀取快照文件,恢復(fù)數(shù)據(jù)??煺瘴募Q為RDB文件

    2024年02月14日
    瀏覽(28)
  • 全面解析 Redis 持久化:RDB、AOF與混合持久化

    前言: 每次你在游戲中看到玩家排行榜,或者在音樂應(yīng)用中瀏覽熱門歌單,有沒有想過這個(gè)排行榜是如何做到實(shí)時(shí)更新的?當(dāng)然,依靠 Redis 即可做到。 在技術(shù)領(lǐng)域,我們經(jīng)常聽到 「鍵值存儲」 這個(gè)詞。但在 Redis 的世界里,這只是冰山一角。Redis 的對象,不僅僅是簡單的數(shù)據(jù)

    2024年03月10日
    瀏覽(33)
  • redis持久化之RDB

    redis持久化之RDB

    RDB(Redis DataBase):RDB 持久性以指定的時(shí)間間隔執(zhí)行數(shù)據(jù)集的時(shí)間點(diǎn)快照。 說人話:實(shí)現(xiàn)類似照片記錄效果的方式,把某一時(shí)刻的數(shù)據(jù)和狀態(tài)以文件的形式寫到磁盤上,也就是快照,恢復(fù)時(shí)再將硬盤快照文件直接讀回到內(nèi)存里。 這樣一來,即使故障宕機(jī),快照文件也不會丟

    2024年02月04日
    瀏覽(20)
  • redis 持久化 RDB + AOF

    redis 持久化 RDB + AOF

    RDB(Redis DataBase)和AOF(Append Only File) RDB,簡而言之,就是在不同的時(shí)間點(diǎn),將redis存儲的數(shù)據(jù)生成快照并存儲到磁盤等介質(zhì)上 AOF,那就是將redis執(zhí)行過的所有寫指令記錄下來,在下次redis重新啟動(dòng)時(shí),只要把這些寫指令從前到后再重復(fù)執(zhí)行一遍,就可以實(shí)現(xiàn)數(shù)據(jù)恢復(fù)了。

    2024年02月03日
    瀏覽(26)
  • Redis 持久化-RDB和 持久化-AOF 的詳細(xì)介紹以及區(qū)別

    Redis 持久化-RDB和 持久化-AOF 的詳細(xì)介紹以及區(qū)別

    在線文檔: https://redis.io/topics/persistence RDB(Redis DataBase) AOF(Append Of File) 在指定的時(shí)間間隔內(nèi)將內(nèi)存中的數(shù)據(jù)集快照寫入磁盤, 也就Snapshot 快照,恢復(fù)時(shí)將快照文件讀到內(nèi)存 RDB 及其執(zhí)行流程 對上圖的解讀 具體流程如下: redis 客戶端執(zhí)行bgsave 命令或者自動(dòng)觸發(fā)bgsave 命令;

    2024年02月09日
    瀏覽(32)
  • Redis持久化(RDB和AOF)

    目錄 方式一:RDB 方式二:AOF AOF重寫可能出現(xiàn)的問題及解決方案 方式三:RDB-AOF混合持久化 Redis持久化 :Redis是基于內(nèi)存數(shù)據(jù)庫,宕機(jī)后和數(shù)據(jù)會消失,當(dāng)Redis用作DB 時(shí),DB數(shù)據(jù)要完整,所以一定要有一個(gè)完整的數(shù)據(jù)源文件,在系統(tǒng)啟動(dòng)時(shí),從這個(gè)完整的數(shù)據(jù)源中將數(shù)據(jù)load到

    2024年02月16日
    瀏覽(22)
  • Redis優(yōu)化 RDB AOF持久化

    Redis優(yōu)化 RDB AOF持久化

    ---------------------- Redis 高可用 ---------------------------------------- 在web服務(wù)器中,高可用是指服務(wù)器可以正常訪問的時(shí)間,衡量的標(biāo)準(zhǔn)是在多長時(shí)間內(nèi)可以提供正常服務(wù)(99.9%、99.99%、99.999%等等)。 但是在Redis語境中,高可用的含義似乎要寬泛一些,除了保證提供正常服務(wù)(如主

    2024年02月09日
    瀏覽(27)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包