1. 程式人生 > >redis總結(六)--持久化之aof

redis總結(六)--持久化之aof

本文內容來自尚矽谷任務19:Redis_持久化之AOF http://www.gulixueyuan.com/course/44/task/1140/show

在看本文之前可先看redis總結(五)--RDBhttps://blog.csdn.net/lsx2017/article/details/84702976

 

 

1說明

     1.1  如果系統中開啟了aof與rdb兩種持久化資料的方式,則在資料庫啟動時,資料庫的資料預設會載入aof檔案的資料而不會載入rdb檔案的資料。假如aof檔案資料損壞,rdb檔案內容可正常載入,啟動資料也會載入aof檔案資料,並且資料庫無法啟動。

      2.2 針對上面講的aof檔案損壞,解決的辦法是。進入到bin目錄,執行 redis -check -aof --fix append.aof 來修復aof檔案,他是吧不符合語法規範的內容刪除了,不符合語法規範的內容可能來自丟包、病毒之內的。

 

2開啟aof

在資料配置

appendonly yes:開啟aof方式

appendfilename "appendonly.aof"   : 表示aof啟動時載入appendonly.AOF檔案

 

3aof執行的三種策略

在配置檔案中進行如下配置

appendfsync always : 同步持久化 每次發生資料變更會被立即記錄到磁碟  效能較差但資料完整性比較好

appendfsync eversec : 非同步操作,每秒記錄   如果一秒內宕機,有資料丟失

appendfsync no  : 表示從不同步資料

 

4優劣勢

   優勢:

appendfsync always : 同步持久化 每次發生資料變更會被立即記錄到磁碟  效能較差但資料完整性比較好

appendfsync eversec : 非同步操作,每秒記錄   如果一秒內宕機,有資料丟失

appendfsync no  : 表示從不同步資料

 

 劣勢:

相同資料集的資料而言aof檔案要遠大於rdb檔案,恢復速度慢於rdb

Aof執行效率要慢於rdb,每秒同步策略效率較好,不同步效率和rdb相同