1. 程式人生 > 其它 >十一、持久化之AOF

十一、持久化之AOF

1. AOF介紹
• 只追加操作的檔案
– Append Only File
– 記錄redis服務所有寫操作。
– 不斷的將新的寫操作,追加到檔案的末尾。
– 使用cat 命令可以檢視檔案內容
2.相關配置引數
• 檔名
– appendfilename "appendonly.aof" //檔名
– appendonly yes // 啟用aof ,預設no
• AOF檔案記錄,寫操作的三種方式
– appendfsync always // 有新的寫操作立即記錄,
效能差,完整性好。
– appendfsync everysec //每秒記錄一次,宕機時會丟失1秒的資料
– appendfsync no //從不記錄
日誌重寫(日誌檔案會不斷增大),何時會觸發日誌重寫?
– redis會記錄上次重寫時AOF檔案的大小,預設配置是當aof檔案是上次rewrite後大小的1倍且檔案大於64M時觸發。
– auto-aof-rewrite-percentage 100
– auto-aof-rewrite-min-size 64mb
• 修復AOF檔案,
– 把檔案恢復到最後一次的正確操作
[root@redis53 6379]# redis-check-aof --fix appendonly.aof
0x 83: Expected \r\n, got: 6166
AOF analyzed: size=160, ok_up_to=123, diff=37
This will shrink the AOF from 160 bytes, with 37 bytes, to 123
bytes
Continue? [y/N]: y
Successfully truncated AOF
3. 使用AOF檔案恢復資料
• 備份資料
– 備份dump.rdb 檔案到其他位置
– ~]# cp 資料庫目錄/appendonly.aof 備份目錄
• 恢復資料
– 把備份的dump.rdb檔案拷貝回資料庫目錄,重啟redis服務
– Cp 備份目錄/appendonly.aof 資料庫目錄/
– /etc/redid/redis_埠 start
4. AOF優點/缺點
• RDB優點
– 可以靈活的設定同步持久化appendfsync alwayls 或非同步持久化appendfsync verysec
– 宕機時,僅可能丟失1秒的資料
• RDB的缺點
– AOF檔案的體積通常會大於RDB檔案的體積。執行fsync策略時的速度可能會比RDB 慢。