redis持久化之AOF
AOF:Append Only File
以io順序把操作的寫命令追加到指定的檔案末尾(缺點:檔案有可能會變的越來越大)
記錄每一次寫操作至指定的檔案尾部實現持久化;
當redis重啟時,可通過重新執行檔案中的命令在記憶體中重建資料庫
redis能夠合併重寫aof的持久化檔案,使用bgrewriteaof配置命令實現
bgrewriteaof --> aof檔案重寫;
不會讀取正在使用的aof檔案,而通過將記憶體中的資料以命令的方式儲存到臨時檔案中,完成之後替換原來的aof檔案
通過bgrewriteaof重寫,將aof檔案變小,來彌補aof的缺點
重建aof檔案過程(bgrewriteaof):
(1)redis主程式通過呼叫fork建立子程式
(2)子程式根據redis記憶體中的資料建立資料庫重建命令序列於臨時檔案中
(3)父程式繼續接收client的請求,並會把這些請求中的寫操作繼續追加至原來的AOF檔案;額外地,這些新的寫請求還會被放置於一個緩衝佇列中;
(4)子程式重寫完成,會通知父程式;父程式把緩衝中的命令寫到臨時檔案中
(5)父程式用臨時檔案替換老的aof檔案;
相關引數:
appendonly no:不啟用aof持久化,預設為no,即關閉的
appendfilename “appendonly.aof”:如果啟用aof,則儲存的檔名用這個引數設定
appendfsync always |everysec |no
always:每次收到寫命令就立即寫到磁碟中的aof檔案中
everysec:每秒寫1次,不管收到多少寫請求(一般都用這種方式)
no:不主動寫到磁碟中,由系統自已決定什麼寫
主動觸發aof檔案重寫相關引數:
no-appendfsync-on-rewrite no:
在rewrite期間,不將新寫請求同步到磁碟,僅放於記憶體的緩衝佇列當中;
建議為yes,可以預防在重寫期間redis崩潰導致資料丟失;
auto-aof-rewrite-percentage 100:
當前aof檔案大小是上次重寫時aof檔案的2倍時,進行bgrewriteaof重寫;
auto-aof-rewrite-min-size 64mb:
啟動bgrewriteaof重寫的最小值,即當此aof達到此最小值才進行重寫;
手動觸發aof檔案重寫相關引數:
在redis-cli命令列,輸入bgwriteaof即可
注意:持久化本身不能取代備份:還應該制定備份策略,對redis資料庫定期進行備份
RDB與AOF同時啟用時:
1.BGSAVE和BGREWRITEAOF不會同時執行;
2.在redis伺服器啟動用於恢復資料時,會優先使用AOF;
相關文章
- Redis 持久化之 AOFRedis持久化
- Redis持久化之RDB & AOFRedis持久化
- redis-17.持久化之AOFRedis持久化
- Redis 持久化之RDB和AOFRedis持久化
- 10. Redis持久化之AOFRedis持久化
- redis ——AOF持久化Redis持久化
- Redis 持久化之 AOF 配置詳解Redis持久化
- 【Redis】Redis 持久化之 RDB 與 AOF 詳解Redis持久化
- redis系列:RDB持久化與AOF持久化Redis持久化
- Redis持久化——AOF日誌Redis持久化
- Redis持久化RDB和AOFRedis持久化
- Redis持久化(RDB 和 AOF)Redis持久化
- redis(13)持久化操作-AOFRedis持久化
- Redis持久化-RDB與AOFRedis持久化
- (七)Redis 持久化 AOF、RDBRedis持久化
- Redis資料持久化—RDB持久化與AOF持久化Redis持久化
- 技術分享 | Redis 持久化之 RDB 與 AOFRedis持久化
- Redis持久化儲存——>RDB & AOFRedis持久化
- Redis持久化 (RDB和AOF) 梳理Redis持久化
- Redis(五)--- Redis的持久化RDB與AOFRedis持久化
- 【Redis篇】Redis持久化方式AOF和RDBRedis持久化
- Redis的兩種持久化方式-快照持久化(RDB)和AOF持久化Redis持久化
- 配置方案:Redis持久化RDB和AOFRedis持久化
- Redis持久化RDB和AOF的概念Redis持久化
- Redis基礎(三)Redis持久化:RDB與AOFRedis持久化
- Redis——Redis用作資料庫(持久化/RDB/AOF)Redis資料庫持久化
- 【Redis 系列】redis 學習八,redis 持久化 RDB 和 AOFRedis持久化
- 一文了解:Redis的AOF持久化Redis持久化
- redis的持久化機制 (RDB&AOF)Redis持久化
- 對比 Redis 中 RDB 和 AOF 持久化Redis持久化
- Redis系列(三):Redis的持久化機制(RDB、AOF)Redis持久化
- redis持久化rdb和aof之間的優勢劣勢Redis持久化
- AOF持久化(儲存的是操作redis命令)持久化Redis
- 搞懂Redis RDB和AOF持久化及工作原理Redis持久化
- 圖解 Redis | 不就是 AOF 持久化嘛圖解Redis持久化
- 淺談:Redis持久化機制(二)AOF篇Redis持久化
- Redis基礎篇(三)持久化:AOF日誌Redis持久化
- redis的 rdb 和 aof 持久化的區別Redis持久化