濮阳杆衣贸易有限公司

主頁(yè) > 知識(shí)庫(kù) > Redis持久化RDB和AOF區(qū)別詳解

Redis持久化RDB和AOF區(qū)別詳解

熱門標(biāo)簽:高碑店市地圖標(biāo)注app 廊坊外呼系統(tǒng)在哪買 b2b外呼系統(tǒng) 臺(tái)灣電銷 400電話辦理的口碑 南京手機(jī)外呼系統(tǒng)廠家 一個(gè)地圖標(biāo)注多少錢 地圖標(biāo)注工廠入駐 四川穩(wěn)定外呼系統(tǒng)軟件

RDB是Redis內(nèi)存到硬盤的快照,用于redis持久化,創(chuàng)建RDB二進(jìn)制文件,將存儲(chǔ)在內(nèi)存中的數(shù)據(jù),持久化的放到硬盤中,當(dāng)我們需要這些數(shù)據(jù)的時(shí)候,啟動(dòng)載入RDB文件,數(shù)據(jù)將會(huì)被存入內(nèi)存中,其實(shí)RDB就是一種快照的方式持久化存儲(chǔ)數(shù)據(jù),也可以作為一種復(fù)制媒介,這個(gè)我們后面在談。

RDB

觸發(fā)機(jī)制--主要三種方式

  • save 同步命令(會(huì)阻塞redis)
  • bgsave 異步命令(fork)
  • 自動(dòng)

Save同步命令

save

文件策略:生成一個(gè)臨時(shí)文件,如果存在老的文件,將會(huì)替換舊文件

bgsave 異步命令

主進(jìn)程通過fork()函數(shù),創(chuàng)建子進(jìn)程生成DRB文件,在此期間訪問redis仍然能正常響應(yīng)

命令 save bgsave
IO 同步 異步
阻塞 阻塞 阻塞(操作不當(dāng)fork阻塞)
優(yōu)點(diǎn) 不額外占用內(nèi)存 不阻塞客戶端命令
缺點(diǎn) 阻塞客戶端命令 需要fork,額外消耗內(nèi)存

redis自動(dòng)生成RDB文件(不可控)

save 900 1 #900秒 改了一次就自動(dòng)生成RDB文件
save 300 10 #300秒修改了10次就自動(dòng)生成RDB文件

redis save配置推薦

#關(guān)閉自動(dòng)保存配置#save 900 1   #900秒 改了一次就自動(dòng)生成RDB文件#save 300 10   #300秒修改了10次就自動(dòng)生成RDB文件
dbfilename dump-${port}.rdb   #rdb文件名
dir /bigdiskpath      #分盤,rdb文件保存位置
stop-writes-on-bgsave-error yes  #bdsave出錯(cuò),停止寫入
rdbcompression yes           #采用壓縮位置
rdbchecksum yes            #開啟校驗(yàn)和

不容忽視的觸發(fā)機(jī)制

有時(shí)候我們沒有執(zhí)行save bgsave命令,也沒有開啟自動(dòng)保存命令,還是會(huì)生成RDB,可能是因?yàn)橐韵略颍?/p>

  • 全量復(fù)制
  • debug reload
  • shutdown

AOF

RDB存在的問題:耗時(shí)耗性能,阻塞丟失數(shù)據(jù)

AOF運(yùn)行原理:每執(zhí)行一條命令,就在AOF中增加一條記錄。當(dāng)需要恢復(fù)時(shí),直接執(zhí)行AOF寫入redis

AOF三種策略

  • always(每條命令都把緩沖區(qū)fsync到硬盤)
  • everysec(每秒刷新一次,每秒吧緩沖區(qū)fsync到硬盤)
  • no(跟隨操作系統(tǒng),有操作系統(tǒng)決定,不可控)

命令 always everysec no
優(yōu)點(diǎn) 不丟失數(shù)據(jù) 每秒一次 不用管
缺點(diǎn) IO開銷大 丟失一秒數(shù)據(jù) 不可控

AOF重寫

將過期的,重復(fù)的,做一些優(yōu)化合并

作用:減少磁盤空間占用,加快文件恢復(fù)速度

AOF重寫兩種方式:

bgrewriteaof

aof重寫配置

AOF重寫配置

auto-aof-rewrite-min-size #AOF重寫需要的最小尺寸
auto-aof-rewrite-percentage #AOF文件增長(zhǎng)率
aof_current_size #統(tǒng)計(jì)當(dāng)前aof文件大小
aof_base_size #aof上次啟動(dòng)和重寫的尺寸

AOF配置

RDB和AOF的比較

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

您可能感興趣的文章:
  • Redis 徹底禁用RDB持久化操作
  • 淺談Redis中的RDB快照
  • Redis 通過 RDB 方式進(jìn)行數(shù)據(jù)備份與還原的方法
  • 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)簽:泰州 畢節(jié) 河源 伊春 拉薩 南寧 定州 甘南

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Redis持久化RDB和AOF區(qū)別詳解》,本文關(guān)鍵詞  Redis,持久化,RDB,和,AOF,區(qū)別,;如發(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和AOF區(qū)別詳解》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于Redis持久化RDB和AOF區(qū)別詳解的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    米易县| 株洲县| 浮山县| 雷山县| 武定县| 柯坪县| 航空| 正安县| 临猗县| 宁波市| 靖安县| 饶河县| 蓝山县| 平山县| 章丘市| 阿城市| 梅河口市| 靖安县| 分宜县| 凌海市| 宁阳县| 哈尔滨市| 平昌县| 福贡县| 盐亭县| 霍州市| 黎城县| 同德县| 泸州市| 南安市| 平果县| 通榆县| 宁武县| 伽师县| 榆社县| 新乡县| 汪清县| 昌图县| 乌鲁木齐县| 台山市| 滕州市|