redis配置RDB、AOF

1适室、配置RDB持久化機制

redis.conf文件嫡意,也就是/etc/redis/6379.conf举瑰,去配置持久化

save 60 1000

每隔60s捣辆,如果有超過1000個key發(fā)生了變更,那么就生成一個新的dump.rdb文件此迅,就是當前redis內(nèi)存中完整的數(shù)據(jù)快照汽畴,這個操作也被稱之為snapshotting旧巾,快照

也可以手動調(diào)用save或者bgsave命令,同步或異步執(zhí)行rdb快照生成

save可以設置多個忍些,就是多個snapshotting檢查點鲁猩,每到一個檢查點,就會去check一下罢坝,是否有指定的key數(shù)量發(fā)生了變更廓握,如果有,就生成一個新的dump.rdb文件

2嘁酿、RDB持久化機制的工作流程

(1)redis根據(jù)配置自己嘗試去生成rdb快照文件

(2)fork一個子進程出來

(3)子進程嘗試將數(shù)據(jù)dump到臨時的rdb快照文件中

(4)完成rdb快照文件的生成之后隙券,就替換之前的舊的快照文件

dump.rdb,每次生成一個新的快照闹司,都會覆蓋之前的老快照

3娱仔、AOF持久化的配置

AOF持久化,默認是關(guān)閉的游桩,默認是打開RDB持久化

appendonly yes牲迫,可以打開AOF持久化機制,在生產(chǎn)環(huán)境里面借卧,一般來說AOF都是要打開的盹憎,除非你說隨便丟個幾分鐘的數(shù)據(jù)也無所謂

打開AOF持久化機制之后,redis每次接收到一條寫命令铐刘,就會寫入日志文件中脚乡,當然是先寫入os cache的,然后每隔一定時間再fsync一下

而且即使AOF和RDB都開啟了滨达,redis重啟的時候奶稠,也是優(yōu)先通過AOF進行數(shù)據(jù)恢復的,因為aof數(shù)據(jù)比較完整

可以配置AOF的fsync策略捡遍,有三種策略可以選擇锌订,一種是每次寫入一條數(shù)據(jù)就執(zhí)行一次fsync; 一種是每隔一秒執(zhí)行一次fsync; 一種是不主動執(zhí)行fsync

always: 每次寫入一條數(shù)據(jù),立即將這個數(shù)據(jù)對應的寫日志fsync到磁盤上去画株,性能非常非常差辆飘,吞吐量很低; 確保說redis里的數(shù)據(jù)一條都不丟,那就只能這樣了

mysql -> 內(nèi)存策略谓传,大量磁盤蜈项,QPS到多少,一兩k续挟。QPS紧卒,每秒鐘的請求數(shù)量

redis -> 內(nèi)存,磁盤持久化诗祸,QPS到多少跑芳,單機轴总,一般來說,上萬QPS沒問題

everysec: 每秒將os cache中的數(shù)據(jù)fsync到磁盤博个,這個最常用的怀樟,生產(chǎn)環(huán)境一般都這么配置,性能很高盆佣,QPS還是可以上萬的

no: 僅僅redis負責將數(shù)據(jù)寫入os cache就撒手不管了往堡,然后后面os自己會時不時有自己的策略將數(shù)據(jù)刷入磁盤,不可控了

4共耍、AOF rewrite

redis中的數(shù)據(jù)其實有限的投蝉,很多數(shù)據(jù)可能會自動過期,可能會被用戶刪除征堪,可能會被redis用緩存清除的算法清理掉

redis中的數(shù)據(jù)會不斷淘汰掉舊的瘩缆,就一部分常用的數(shù)據(jù)會被自動保留在redis內(nèi)存中

所以可能很多之前的已經(jīng)被清理掉的數(shù)據(jù),對應的寫日志還停留在AOF中佃蚜,AOF日志文件就一個庸娱,會不斷的膨脹,到很大很大

所以AOF會自動在后臺每隔一定時間做rewrite操作谐算,比如日志里已經(jīng)存放了針對100w數(shù)據(jù)的寫日志了; redis內(nèi)存只剩下10萬; 基于內(nèi)存中當前的10萬數(shù)據(jù)構(gòu)建一套最新的日志熟尉,到AOF中; 覆蓋之前的老日志; 確保AOF日志文件不會過大,保持跟redis內(nèi)存數(shù)據(jù)量一致

redis 2.4之前洲脂,還需要手動斤儿,開發(fā)一些腳本,crontab恐锦,通過BGREWRITEAOF命令去執(zhí)行AOF rewrite往果,但是redis 2.4之后,會自動進行rewrite操作

在redis.conf中一铅,可以配置rewrite策略

auto-aof-rewrite-percentage 100

auto-aof-rewrite-min-size 64mb

比如說上一次AOF rewrite之后陕贮,是128mb

然后就會接著128mb繼續(xù)寫AOF的日志,如果發(fā)現(xiàn)增長的比例潘飘,超過了之前的100%肮之,256mb,就可能會去觸發(fā)一次rewrite

但是此時還要去跟min-size卜录,64mb去比較戈擒,256mb > 64mb,才會去觸發(fā)rewrite

(1)redis fork一個子進程

(2)子進程基于當前內(nèi)存中的數(shù)據(jù)艰毒,構(gòu)建日志筐高,開始往一個新的臨時的AOF文件中寫入日志

(3)redis主進程,接收到client新的寫操作之后,在內(nèi)存中寫入日志凯傲,同時新的日志也繼續(xù)寫入舊的AOF文件

(4)子進程寫完新的日志文件之后犬辰,redis主進程將內(nèi)存中的新日志再次追加到新的AOF文件中

(5)用新的日志文件替換掉舊的日志文件

5嗦篱、AOF破損文件的修復

如果redis在append數(shù)據(jù)到AOF文件時冰单,機器宕機了,可能會導致AOF文件破損

用redis-check-aof --fix命令來修復破損的AOF文件

6灸促、AOF和RDB同時工作

(1)如果RDB在執(zhí)行snapshotting操作诫欠,那么redis不會執(zhí)行AOF rewrite; 如果redis再執(zhí)行AOF rewrite,那么就不會執(zhí)行RDB snapshotting

(2)如果RDB在執(zhí)行snapshotting浴栽,此時用戶執(zhí)行BGREWRITEAOF命令荒叼,那么等RDB快照生成之后,才會去執(zhí)行AOF rewrite

(3)同時有RDB snapshot文件和AOF日志文件典鸡,那么redis重啟的時候被廓,會優(yōu)先使用AOF進行數(shù)據(jù)恢復,因為其中的日志更完整

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末萝玷,一起剝皮案震驚了整個濱河市嫁乘,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌球碉,老刑警劉巖蜓斧,帶你破解...
    沈念sama閱讀 216,544評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異睁冬,居然都是意外死亡挎春,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,430評論 3 392
  • 文/潘曉璐 我一進店門豆拨,熙熙樓的掌柜王于貴愁眉苦臉地迎上來直奋,“玉大人,你說我怎么就攤上這事施禾“锱觯” “怎么了?”我有些...
    開封第一講書人閱讀 162,764評論 0 353
  • 文/不壞的土叔 我叫張陵拾积,是天一觀的道長殉挽。 經(jīng)常有香客問我,道長拓巧,這世上最難降的妖魔是什么斯碌? 我笑而不...
    開封第一講書人閱讀 58,193評論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮肛度,結(jié)果婚禮上傻唾,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好冠骄,可當我...
    茶點故事閱讀 67,216評論 6 388
  • 文/花漫 我一把揭開白布伪煤。 她就那樣靜靜地躺著,像睡著了一般凛辣。 火紅的嫁衣襯著肌膚如雪抱既。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,182評論 1 299
  • 那天扁誓,我揣著相機與錄音防泵,去河邊找鬼。 笑死蝗敢,一個胖子當著我的面吹牛捷泞,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播寿谴,決...
    沈念sama閱讀 40,063評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼锁右,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了讶泰?” 一聲冷哼從身側(cè)響起咏瑟,我...
    開封第一講書人閱讀 38,917評論 0 274
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎峻厚,沒想到半個月后响蕴,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,329評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡惠桃,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,543評論 2 332
  • 正文 我和宋清朗相戀三年浦夷,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片辜王。...
    茶點故事閱讀 39,722評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡劈狐,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出呐馆,到底是詐尸還是另有隱情肥缔,我是刑警寧澤,帶...
    沈念sama閱讀 35,425評論 5 343
  • 正文 年R本政府宣布汹来,位于F島的核電站续膳,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏收班。R本人自食惡果不足惜坟岔,卻給世界環(huán)境...
    茶點故事閱讀 41,019評論 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望摔桦。 院中可真熱鬧社付,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,671評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至啼辣,卻和暖如春啊研,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背熙兔。 一陣腳步聲響...
    開封第一講書人閱讀 32,825評論 1 269
  • 我被黑心中介騙來泰國打工悲伶, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留艾恼,地道東北人住涉。 一個月前我還...
    沈念sama閱讀 47,729評論 2 368
  • 正文 我出身青樓,卻偏偏與公主長得像钠绍,于是被迫代替她去往敵國和親舆声。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,614評論 2 353

推薦閱讀更多精彩內(nèi)容