Redis的RDB方式不能做到妙計持久化,但是AOF方式可以做到。如果數(shù)據(jù)比較重要,丟失會造成嚴(yán)重的后果,那么RDB方式明顯不合適,要用到AOF的方式。aof方式和mysql的binlog日志有些像,都只記錄新增、修改、刪除的操作。不同的是,redis會每隔一段時間后,會對aof文件進(jìn)行重寫,降低aof文件的大小。

AOF工作流程
這里,為什么命令要先寫入aof_buf,因?yàn)槿绻苯訉懭隺of文件,那么性能就完全取決去硬盤的io性能。寫入aof_buf是為了提高寫入的性能。
配置
appendonly:是否開啟aof持久化方式,默認(rèn)是no。如想開啟則改為yes。
dir:aof文件存放目錄
appendfilename:aof文件名
appendfsync:aof同步方式,有三個值,分別如下:
always:每寫入一個命令時就同步,數(shù)據(jù)的安全性最高,但性能差
everysec:每秒同步,默認(rèn)的方式,性能高,安全性也還行
no:同步操作交給操作系統(tǒng),數(shù)據(jù)的安全性最差。
auto-aof-rewrite-percentage 、auto-aof-rewrite-min-size 這兩個配置是和aof重寫機(jī)制相關(guān)的,只有同時滿足這兩個條件才會觸發(fā)重寫機(jī)制。
auto-aof-rewrite-min-size是表示重寫時,文件大小必須必這個值要大,默認(rèn)值是64mb
auto-aof-rewrite-percentage表示目前文件大小比上次重寫后的文件大小大這么多才行。
AOF重寫
redis的aof重寫機(jī)制有手動觸發(fā)和自動觸發(fā)兩種方式。手動觸發(fā)即輸入bgrewriteof命令。自動觸發(fā)即滿足上述所有的兩個條件。
為什么重寫能縮小文件體積,有幾種情況:
過期的鍵及已刪除的鍵將不會再記錄
許多單個操作可以有一個操作來完成,比如lpush a、lpush b,重寫后就是lpush a b.
下面看看aof重寫流程

執(zhí)行bgrewriteof命令
主進(jìn)程fork出一個子進(jìn)程
原有的aof機(jī)制繼續(xù)運(yùn)行,同時,也將新的命令寫入到aof_rewrite_buf中
子進(jìn)程生成新的aof文件
通知父進(jìn)程,新的aof文件已經(jīng)生成成功;將aof_rewrite_buf中的命令追加到新的aof文件中;用新的aof文件替換舊的aof文件。
完成以上步驟后,aof重寫就完成了。
注意,如果一個服務(wù)器上面有多個redis服務(wù),那么最好將他們重寫的時間分隔開,防止io及cpu競爭過大。
以上就是Redis持久化之AOF方式的詳細(xì)內(nèi)容,更多請關(guān)注創(chuàng)新互聯(lián)成都網(wǎng)站設(shè)計公司其它相關(guān)文章!
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點(diǎn)與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。
當(dāng)前標(biāo)題:Redis中AOF持久化方式的工作流程-創(chuàng)新互聯(lián)
文章轉(zhuǎn)載:http://www.chinadenli.net/article26/dccdcg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站改版、虛擬主機(jī)、全網(wǎng)營銷推廣、App開發(fā)、自適應(yīng)網(wǎng)站、面包屑導(dǎo)航
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容