久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

5分鐘徹底理解Redis持久化

 新進小設(shè)計 2022-05-05 發(fā)布于北京

Redis持久化

RDB快照

在默認情況下,Redis將內(nèi)存數(shù)據(jù)庫快照保存到dump.rdb的二進制文件中,。
可以對Redis進行設(shè)置,,讓它在“N秒內(nèi)數(shù)據(jù)集至少有N個改動”, 這一條件被滿足時,,自動保存一次數(shù)據(jù)集,。比如說:讓Redis滿足“60秒內(nèi)至少有1000個鍵被改動”這一個條件時,自動保存一次數(shù)據(jù)集,。

save 60 1000

除了在配置文件中使用save關(guān)鍵字設(shè)置RDB快照,,還可以在命令行中手動執(zhí)行命令生成RDB快照,進入redis客戶端執(zhí)行命令save或bgsave可以生成dump.rdb文件,。
每次執(zhí)行命令都會將所有redis內(nèi)存快照保存到一個rdb文件里,,并覆蓋原有的rdb快照文件。
save是同步命令,,bgsave是異步命令,,bgsave會從redis主進程fork出一個子進程專門用來生成rdb二進制文件。

AOF(append only file)

快照功能并不是非常durable,,如果redis因為某些原因而造成故障停機,,那么服務(wù)器將丟失最近寫入且未保存到快照中的那些數(shù)據(jù)。從1.1版本,,redis增加了一種完全durable的方式:AOF持久化,,將修改的每一條指令記錄進appendonly.aof中。修改配置文件來打開aof功能:

appendonly yes

打開aof功能,,每當redis執(zhí)行一個改變數(shù)據(jù)集的命令時,,這個命令就會追加到aof文件的末尾。這樣的話,,當redis重新啟動時,,程序就會通過執(zhí)行aof文件中的命令來達到重建數(shù)據(jù)集的目的。
可以配置redis多久才將命令持久化到磁盤一次,。

appendfsync always:每次有新命令追加到aof文件時就執(zhí)行一個持久化,,非常慢但是安全
appendfsync everysec:每秒執(zhí)行一次持久化,足夠快(和使用rdb持久化差不多)并且在故障時只會丟失1秒鐘的數(shù)據(jù)
appendfsync no:從不持久化,,將數(shù)據(jù)交給操作系統(tǒng)來處理,。redis處理命令速度加快但是不安全。

默認情況下 ,,每秒執(zhí)行一次fsync,, 這種fsync策略可以兼顧安全性和速度。
rdb和aof的區(qū)別:

redis啟動時如果既有rdb文件又有aof文件則優(yōu)先選擇aof文件恢復數(shù)據(jù),因為aof文件一般來說數(shù)據(jù)更安全一點,。

二,、AOF重寫
aof文件里可能有太多“瑣碎”指令,所以aof會定期根據(jù)內(nèi)存的最新數(shù)據(jù)重新生成aof文件
有兩個配置可以控制aof自動重寫的頻率:

auto-aof-rewrite-min-size 64mb: aof文件至少要達到64m才會觸發(fā)制動重寫,,文件太小恢復速度本來就很快,,重寫的意義不大

auto-aof-rewrite-percentage 100:aof文件上一次重寫后文件大小增長了100%則再次觸發(fā)重寫

當然aof還可以手動重寫,進入redis客戶端執(zhí)行命令bgrewriteaof重寫aof,。
觸發(fā)aof重寫時,,redis會fork一個子進程去做,不會對redis正常命令處理有太多影響,。

Redis 4.0混合持久化

重啟redis恢復數(shù)據(jù)集時,,很少會使用rdb來恢復內(nèi)存狀態(tài),因為會丟失大量數(shù)據(jù),。通常會使用aof日志恢復數(shù)據(jù),,但是重放aof日志性能相對rdb來說要慢很多,這樣在redis實例很大的情況下,,啟動需要花費很長時間,。Redis4.0為了解決這個問題,帶來了新的持久化選項——混合持久化,。

aof-use-rdb-preamble yes

混合持久化aof文件結(jié)構(gòu):

如果開啟了混合持久化,,aof在重寫時,不再是單純將內(nèi)存數(shù)據(jù)轉(zhuǎn)換為RESP命令寫入aof文件,,而是將重寫這一刻之前的內(nèi)存做rdb快照處理,,并且將rdb快照內(nèi)容和增量的aof修改內(nèi)存數(shù)據(jù)的命令存在一起,都寫入新的aof文件,,新的aof文件一開始不叫appendonly.aof,,等到重寫完成后,新的aof文件才會進行改名,,原子的覆蓋原有的aof文件,完成新舊兩個aof文件的替換,。
于是在redis重啟的時候,,可以先加載rdb文件,然后再重放增量的aof日志就可以完全替代之前的aof全量文件重放,,因此重啟效率大幅得到提高,。

還沒關(guān)注我的公眾號?

  • 掃文末二維碼關(guān)注公眾號【小強的進階之路】可領(lǐng)取如下:
  • 學習資料: 1T視頻教程:涵蓋Javaweb前后端教學視頻,、機器學習/人工智能教學視頻,、Linux系統(tǒng)教程視頻、雅思考試視頻教程;
  • 100多本書:包含C/C++,、Java,、Python三門編程語言的經(jīng)典必看圖書、LeetCode題解大全,;
  • 軟件工具:幾乎包括你在編程道路上的可能會用到的大部分軟件,;
  • 項目源碼:20個JavaWeb項目源碼。

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式,、誘導購買等信息,,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請點擊一鍵舉報,。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多