亚洲视频二区_亚洲欧洲日本天天堂在线观看_日韩一区二区在线观看_中文字幕不卡一区

公告:魔扣目錄網(wǎng)為廣大站長提供免費收錄網(wǎng)站服務(wù),提交前請做好本站友鏈:【 網(wǎng)站目錄:http://www.430618.com 】, 免友鏈快審服務(wù)(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

redis的持久化主要有兩大機制,即AOF日志和RDB快照。

1、AOF日志是如何實現(xiàn)的?

與傳統(tǒng)數(shù)據(jù)庫寫日志不一樣,先執(zhí)行命令,再寫入日志。

宕機了,Redis如何避免數(shù)據(jù)丟失?

 

比如:set testkey test value 這條命令的執(zhí)行,AOF的日志內(nèi)容是這樣展示的

宕機了,Redis如何避免數(shù)據(jù)丟失?

 

*3代表有當前命令有三個部分,3表示有三個字節(jié),也就是set,3表示有三個字節(jié),也就是set,3表示有三個字節(jié),也就是set,7表示有7個字節(jié),也就是testkey

為什么先執(zhí)行和寫日志呢,就是為了不出現(xiàn)語法錯誤導致恢復的時候出錯,因為先寫日志的話redis不會額外的檢查語法的錯誤,這樣錯了的話導致后續(xù)恢復的時候出錯。還有一個好處就是不會阻塞當前的寫操作。

但是也有風險,Redis用作數(shù)據(jù)庫的話,沒來得及寫日志就宕機了,這樣無法恢復數(shù)據(jù)了。還有就是如果把日志文件寫入磁盤阻塞,后續(xù)的操作也沒法執(zhí)行了。

2、三種寫回策略

分別是同步寫回Always,每秒寫回Everysec,操作系統(tǒng)控制寫回No。

宕機了,Redis如何避免數(shù)據(jù)丟失?

 

高性能就選操作系統(tǒng)控制,高可用就選同步寫回,這種就寫每秒寫回.

同樣畢竟是文件系統(tǒng),文件太大了怎么辦?

3、日志文件太大了怎么辦?

AOF重寫機制為啥可以讓文件變小呢?因為重寫只會保持最新的記錄,一個key對應的value是可能被多次修改的,那么在原本的日志文件就會存在多條記錄。重寫機制則只會存最新的記錄。

宕機了,Redis如何避免數(shù)據(jù)丟失?

 

4、AOF重寫會阻塞嗎?

重寫是由后臺線程bgrwriteaof來執(zhí)行完成的,總結(jié)就是一個拷貝,兩處日志。

一個拷貝就是主線程fork后臺的bgrwriteaof子進程,fork會把主線程的內(nèi)存拷貝一份給bgrwriteaof子進程,這里面就包含了數(shù)據(jù)庫的最新數(shù)據(jù),這個時候子進程就會把拷貝的數(shù)據(jù)寫成操作,記入重寫日志。

兩處日志是,因為主線程未阻塞,仍然可以處理新來的操作。此時,如果有寫操作,第一處日志就是指正在使用的AOF日志,Redis會把這個操作寫到它的緩沖區(qū)。這樣一來,即使宕機了,這個AOF日志的操作仍然是齊全的,可以用于恢復。

而第二處日志,就是指新的AOF重寫日志。這個操作也會被寫到重寫日志的緩沖區(qū)。這樣,重寫日志也不會丟失最新的操作。等到拷貝數(shù)據(jù)的所有操作記錄重寫完成后,重寫日志記錄的這些最新操作也會寫入新的AOF文件,以保證數(shù)據(jù)庫最新狀態(tài)的記錄。此時,我們就可以用新的AOF文件替代舊文件了。

宕機了,Redis如何避免數(shù)據(jù)丟失?

 

總結(jié)來說,每次AOF重寫時,Redis會先執(zhí)行一個內(nèi)存拷貝,用于重寫;然后,使用兩個日志保證在重寫過程中,新寫入的數(shù)據(jù)不會丟失。而且,因為Redis采用額外的線程進行數(shù)據(jù)重寫,所以,這個過程并不會阻塞主線程。


作者:狗日de阿良
鏈接:https://juejin.cn/post/6896072419543515143

分享到:
標簽:Redis
用戶無頭像

網(wǎng)友整理

注冊時間:

網(wǎng)站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨大挑戰(zhàn)2018-06-03

數(shù)獨一種數(shù)學游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數(shù)有氧達人2018-06-03

記錄運動步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定