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相同