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

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

這篇具有很好參考價值的文章主要介紹了redis持久化【RDB+AOF】持久化雙雄。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

這是redis系列文章之《redis持久化【RDB+AOF】持久化雙雄》,上一篇文章【redis基礎(chǔ)】redis的十大數(shù)據(jù)類型_努力努力再努力mlx的博客-CSDN博客

感謝大家的支持~


目錄

RDB

什么是RDB

RDB的作用

配置文件關(guān)于RDB部分? 6vs7

操作步驟

修改配置文件(本案例設置5s修改2次)

修改dump文件的保存路徑

修改dump文件名稱

觸發(fā)備份

自動觸發(fā)

如何恢復

手動觸發(fā)

優(yōu)劣分析

修復RDB文件

觸發(fā)快照的情況

禁用快照

優(yōu)化配置

總結(jié)

AOF

什么是AOF

AOF的作用

AOF持久化工作流程

AOF緩沖區(qū)三種寫回策略

redis6 vs redis7配置文件關(guān)于AOF的區(qū)別

AOF文件發(fā)揮作用

AOF文件損壞后的修復

AOF的優(yōu)劣

AOF的重寫機制

AOF優(yōu)化配置

總結(jié)

RDB - AOF混合持久化

純緩存模式


RDB

什么是RDB

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

RDB是在指定的時間間隔內(nèi),對執(zhí)行數(shù)據(jù)集時間點進行快照。實現(xiàn)類似照片記錄效果的方式,就是把某一時刻的數(shù)據(jù)和狀態(tài)以文件的形式寫到磁盤上,也就是快照。在這種情況下,即使redis發(fā)生宕機或者其他類型的故障問題,數(shù)據(jù)也會在快照文件中有所保存,數(shù)據(jù)的可靠性也有所保證。這個快照文件就稱為RDB文件(dump.rdb),其中,RDB就是Redis DataBase的縮寫。

RDB的作用

在指定的時間間隔內(nèi)將內(nèi)存中的數(shù)據(jù)集快照寫入磁盤,也就是行話講的Snapshot內(nèi)存快照,它恢復時再將硬盤快照文件直接讀回到內(nèi)存里。其中redis的數(shù)據(jù)都是保存在內(nèi)存中的,在保存?zhèn)浞輹r它執(zhí)行的是全量快照,也就是說把內(nèi)存中的所有數(shù)據(jù)都記錄在磁盤中(一鍋端)

配置文件關(guān)于RDB部分? 6vs7

在redis6.0.16及以下和redis6.2、redis7.0.0的配置文件對生成快照文件的設置有所不同

redis6.0.16

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

redis6.2、redis7.0.0

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

操作步驟

修改配置文件(本案例設置5s修改2次)

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

修改dump文件的保存路徑

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

修改dump文件名稱

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

觸發(fā)備份

自動觸發(fā)

第一種情況:
redis持久化【RDB+AOF】持久化雙雄

第二種情況:因為我們設置的是5s內(nèi)變化2次會生成dump文件,所以在這種情況下不會生成dump文件
redis持久化【RDB+AOF】持久化雙雄

如何恢復

直接將備份文件進行恢復即可

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

需要注意的是:當我們進行flushdb的操作后,同樣會生成dump文件,但是這個dump文件中的內(nèi)容是空的,也就是說,它保存了空的數(shù)據(jù),對于redis數(shù)據(jù)恢復而言沒有任何意義。?

手動觸發(fā)

save

  • 在主線程中執(zhí)行會阻塞redis服務器,直到持久化工作完成才能處理其他命令, 線上禁止使用

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

bgsave

  • Redis 會在后臺異步進行快照操作,不阻塞快照同時還可以響應客戶端請求,該觸發(fā)過程會 fork 一個子進程由子進程復制持久化過程
  • lastsave 命令可以獲取最后一次成功執(zhí)行快照的時間?

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

優(yōu)劣分析

優(yōu)勢:

  • 適合大規(guī)模的數(shù)據(jù)恢復
  • 按照業(yè)務定時備份
  • 對數(shù)據(jù)完整性和一致性要求不高
  • RDB 文件在內(nèi)存中的加載速度比AOF快得多

?劣勢:

  • 在一定間隔時間做一次備份,如果redis意外down機,就會丟掉最近一次快照到down機時的數(shù)據(jù)
  • 內(nèi)存數(shù)量的全量同步,如果數(shù)據(jù)量過大會導致IO嚴重影響服務器性能
  • RDB依賴于主進程的 fork ,在更大的數(shù)據(jù)集中,這可能會導致服務器請求的瞬間延遲
  • fork 的時候內(nèi)存中的數(shù)據(jù)被克隆了一份,大致2倍的膨脹性,需要考慮

修復RDB文件

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

觸發(fā)快照的情況

  • 配置文件中默認的快照配置
  • 手動 save/bgsave 命令
  • 執(zhí)行flush / flushdb 命令也會產(chǎn)生 dump.rdb 文件,但里面是空的,無意義
  • 執(zhí)行 shutdown 且沒有設置開啟 AOF 持久化
  • 主從復制時,主節(jié)點自動觸發(fā)

禁用快照

動態(tài)所有停止RDB保存規(guī)則的方法:redis-cli?config?set?save?""

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

優(yōu)化配置

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

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

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

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

總結(jié)

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

AOF

什么是AOF

  • 以日志的形式來記錄每個寫操作,將Redis執(zhí)行過的所有寫指令記錄下來(讀操作不記錄),只許追加文件但不可以改寫文件,redis啟動之初會讀取該文件重新構(gòu)建數(shù)據(jù),換言之,redis重啟的話就根據(jù)日志文件的內(nèi)容將寫指令從前到后執(zhí)行一次以完成數(shù)據(jù)的恢復工作
  • 默認情況下,redis是沒有開啟AOF的
  • 開啟AOF 功能需要設置配置 : appendonly yes
    ?

AOF的作用

簡單來說,AOF的作用是記錄指令中的寫操作,當redis重新啟動時從生成的aof文件中賭球數(shù)據(jù),進行數(shù)據(jù)的恢復

AOF持久化工作流程

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

AOF緩沖區(qū)三種寫回策略

三種寫回策略

  • always 同步寫回,每個寫命令執(zhí)行完立刻同步地將日志寫回磁盤
  • everysec 每秒寫回,每個寫命令執(zhí)行完,只是先把日志寫到AOF緩沖區(qū),每隔1s把緩存區(qū)地數(shù)據(jù)寫入磁盤
  • no 操作系統(tǒng)控制寫回,只是將日志先寫到AOF文件的內(nèi)存緩沖區(qū),由操作系統(tǒng)決定何時將緩沖區(qū)內(nèi)容寫回磁盤

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

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

redis6 vs redis7配置文件關(guān)于AOF的區(qū)別

aof文件-保存路徑

  • Redis 6?AOF保存文件的位置和RDB保存文件的位置一樣,都是通過redis.conf配置文件的dir配置
  • Redis 7 作了改變 dir/appendirname?

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

d. aof文件-保存名稱

  • Redis 6 有且只有一個
  • Redis 7 三個文件:base基本文件、incr增量文件、manifest清單文件(manifest文件會被默認清除)

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

AOF文件發(fā)揮作用

恢復1:

重啟redis然后重新加載,結(jié)果OK


恢復2:

  • 寫入數(shù)據(jù)進redis,然后flushdb+shutdown服務器
  • 新生成了dump和aof
  • 備份新生成的aof.bak,然后刪除dump/aof
  • 再看恢復B重啟redis然后重新加載
  • 停止服務器,拿出我們的備份修改后再重新啟動服務器。

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

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

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

AOF文件損壞后的修復

在網(wǎng)絡閃斷時,aof文件寫了錯誤的指令,使用 異常修復命令 : redis-check-aof --fix 進行修復?

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

AOF的優(yōu)劣

優(yōu)勢

  • 更好的保護數(shù)據(jù)不丟失、性能高、可做緊急恢復

劣勢

  • 相同數(shù)據(jù)集的數(shù)據(jù)而言aof文件要遠大于rdb文件,恢復速度慢于rdb
  • aof運行效率要慢于rdb,每秒同步策略效率較好,不同步效率和rdb相同

AOF的重寫機制

啟動AOF文件的內(nèi)容壓縮,只保留可以恢復數(shù)據(jù)的最小指令集

自動觸發(fā)

滿足配置文件中的選項后,Redis會記錄上次重寫時地AOF大小
默認配置是當AOF文件大小是上次rewrite后大小的一倍且文件大于64M時


手動觸發(fā)

客戶端向服務器發(fā)送 bgrewriteaof 命令
結(jié)論:也就是說AOF文件重寫并不是對原文件進行重新整理,而是直接讀取服務器現(xiàn)有的鍵值對,然后用一條命令去代替之前記錄這個鍵值對的多條命令,生成一個新的文件后去替換原來的AOF文件。

AOF文件重寫觸發(fā)機制:通過 redis.conf配置文件中的auto-aof-rewrite-percentage:默認值為100,以及auto-aof-rewritemin-size: 64mb配置,也就是說默認Redis會記錄上次重寫時的AOF大小,默認配置是當AOF文件大小是上次rewrite后大小的一倍且文件大于64M時觸發(fā)。

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

AOF重寫原理?


1.在重寫開始前,redis會創(chuàng)建一個“重寫子進程”,這個子進程會讀取現(xiàn)有的AOF文件,并將其包含的指令進行分析壓縮并寫入到一個臨時文件中。
2.與此同時,主進程會將新接收到的寫指令一邊累積到內(nèi)存緩沖區(qū)中,一邊繼續(xù)寫入到原有的AOF文件中,這樣做是保證原有的AOF文件的可用性,避免在重寫過程中出現(xiàn)意外。
3.當“重寫子進程”完成重寫工作后,它會給父進程發(fā)一個信號,父進程收到信號后就會將內(nèi)存中緩存的寫指令追加到新AOF文件中
4.當追加結(jié)束后,redis就會用新AOF文件來代替舊AOF文件,之后再有新的寫指令,就都會追加到新的AOF文件中
5.重寫aof文件的操作,并沒有讀取舊的aof文件,而是將整個內(nèi)存中的數(shù)據(jù)庫內(nèi)容用命令的方式重寫了一個新的aof文件,這點和快照有點類似

AOF優(yōu)化配置

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

總結(jié)

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

RDB - AOF混合持久化

同時開啟兩種持久化方式

當redis 重啟時候會優(yōu)先載入AOF文件來恢復原始的數(shù)據(jù),因為在通常情況下AOF文件保存的數(shù)據(jù)集要比RDB文件保存的數(shù)據(jù)集要完整
RDB的數(shù)據(jù)不實時,同時使用兩者時服務器重啟也只會找AOF文件。
那要不要只使用AOF呢
安特雷茲建議不要
因為RDB更適合用于備份數(shù)據(jù)庫(AOF不斷變化不好備份),留著AOF作為一個萬一的手段

1 開啟混合方式設置

設置aof-use-rdb-preamble的值為 yes ??yes表示開啟,設置為no表示禁用

2 RDB+AOF的混合方式---------> 結(jié)論RDB鏡像做全量持久化,AOF做增量持久化

先使用RDB進行快照存儲,然后使用AOF持久化記錄所有的寫操作,當重寫策略滿足或手動觸發(fā)重寫的時候,將最新的數(shù)據(jù)存儲為新的RDB記錄。這樣的話,重啟服務的時候會從RDB和AOF兩部分恢復數(shù)據(jù),既保證了數(shù)據(jù)完整性,又提高了恢復數(shù)據(jù)的性能。簡單來說:混合持久化方式產(chǎn)生的文件一部分是RDB格式,一部分是AOF格式。----》AOF包括了RDB頭部+AOF混寫

純緩存模式


同時關(guān)閉RDB + AOF

save “”
禁用rdb
禁用db持久化模式下,我們?nèi)匀豢梢允褂妹顂ave、bgsave生成rdb文件
appendonly no
禁用aof
禁用aof持久化模式下,我們?nèi)匀豢梢允褂妹?bgrewriteaof生成aof文件

?文章來源地址http://www.zghlxwxcb.cn/news/detail-473660.html

到了這里,關(guān)于redis持久化【RDB+AOF】持久化雙雄的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

領(lǐng)支付寶紅包贊助服務器費用

相關(guān)文章

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

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

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

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

    Redis 有兩種持久化方案,RDB (Redis DataBase)和 AOF (Append Only File)。如果你想快速了解和使用RDB和AOF,可以直接跳到文章底部看總結(jié)。本章節(jié)通過配置文件,觸發(fā)快照的方式,恢復數(shù)據(jù)的操作,命令操作演示,優(yōu)缺點來學習 Redis 的重點知識 持久化 。 RDB 是 Redis 默認的持久化

    2024年02月14日
    瀏覽(21)
  • Redis_持久化(AOF、RDB)

    Redis_持久化(AOF、RDB)

    目前,redis的持久化主要應用AOF(Append Only File)和RDF兩大機制,AOF以日志的形式來記錄每個寫操作(增量保存),將redis執(zhí)行過的所有指令全部安全記錄下來(讀操作不記錄)。只許追加文件,但不可以改寫文件,redis啟動之初,會讀取該文件,重新構(gòu)建數(shù)據(jù)。 AOF默認不開啟

    2024年02月13日
    瀏覽(22)
  • redis持久化機制:RDB和AOF

    Redis的持久化機制主要依賴于兩種方法:RDB(Redis Database)和AOF(Append Only File)。這兩種機制可以單獨使用,也可以同時使用,以提高數(shù)據(jù)的持久性和可靠性。 RDB(Redis Database) 工作原理 : RDB通過創(chuàng)建數(shù)據(jù)集的快照來進行持久化。 快照創(chuàng)建可以在指定的時間間隔內(nèi)自動完成

    2024年01月19日
    瀏覽(58)
  • Redis 持久化-RDB和 持久化-AOF 的詳細介紹以及區(qū)別

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

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

    2024年02月09日
    瀏覽(32)
  • 【Redis】Redis持久化機制RDB與AOF

    【Redis】Redis持久化機制RDB與AOF

    目錄 一、RDB 1、概念 2、RDB文件保存 3、執(zhí)行RDB 4、觸發(fā)RDB 5、fork原理 6、RDB的缺點 二、AOF 1、概念 2、開啟AOF 3、觸發(fā)AOF 4、觸發(fā)重寫AOF 三、區(qū)別 RDB全稱為Redis Database Backup File(Redis數(shù)據(jù)備份文件),也叫做Redis數(shù)據(jù)快照。簡單的來說就是把某一時刻Redis內(nèi)存里的數(shù)據(jù)都記錄到磁

    2024年02月08日
    瀏覽(39)
  • Redis---數(shù)據(jù)持久化之RDB與AOF

    Redis 數(shù)據(jù)庫文件,全稱 Redis DataBase,數(shù)據(jù)持久化方式之一,數(shù)據(jù)持久化 默認方式 ,按照指定時間間隔,將內(nèi)存中的數(shù)據(jù)及快照寫入硬盤 定義RDB文件名 dbfilename \\\"dump.rdb\\\" RDB指dump.rdb文件; redis數(shù)據(jù)每次存盤,如果不指定持久化的方式,數(shù)據(jù)就會默認存入dump.rdb文件中 數(shù)據(jù)從內(nèi)存

    2023年04月19日
    瀏覽(21)
  • 「 Redis 」RDB和AOF持久化全面解析

    「 Redis 」RDB和AOF持久化全面解析

    參考鳴謝 【說透Redis】10分鐘徹底理解Redis的持久化機制:RDB和AOF 程序員讀書 AOF 持久化是怎么實現(xiàn)的? xiaolinCoding Redis持久化之RDB與AOF 的區(qū)別 1024下午茶 在現(xiàn)代的互聯(lián)網(wǎng)應用中,數(shù)據(jù)的持久化和可靠性是至關(guān)重要的。在 Redis 中,RDB 和 AOF 兩種持久化方式可以確保數(shù)據(jù)的持久

    2023年04月27日
    瀏覽(32)
  • Redis持久化:RDB和AOF機制詳解

    Redis持久化:RDB和AOF機制詳解

    目錄 1.Redis持久化簡介 2.RDB持久化 ? ?2.1 什么是 RDB 持久化? ? ?2.2 觸發(fā)方式 ? ?2.3 Redis.conf中配置RDB ? ?2.4 RDB 更深入理解 ? ?2.5 RDB優(yōu)缺點 3.AOF持久化 ? ?3.1 什么是 AOF 持久化? ? ?3.2 如何實現(xiàn)AOF ? ?3.3 Redis.conf中配置AOF ? ?3.4?深入理解AOF重寫 4.RDB和AOF混合方式(4.0版本

    2024年02月12日
    瀏覽(21)
  • 圖解Redis,談談Redis的持久化,RDB快照與AOF日志

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包