redis——持久化方式RDB和AOF筆記

RDB

RedisDataBase是一種保存redis數據庫狀態的方式,存儲的是相對AOF更加直觀的數據,
數據內容大概是:

REDIS dbversion databases EOF check_sum

↑這是最上層的文件格式,比較底層的是key_value_pairs部分↓

TYPE key value

TYPE對應了string、list、set、zset、hash等數據結構

AOF

AppendOnlyFile是通過保存執行命令來實現持久化功能的
可以通過設置redis.conf打開
也可通過參數appendfsync來覺得AOF的持久化粒度,從而決定效率和安全性

  • 每條都存
  • 每隔一秒將緩衝區的內容寫到AOF文件裏,假如服務器宕機,僅僅丟失1秒的數據
  • 由操作系統控制將內存緩衝區的內容寫入AOF文件,安全性相對較低

隨着程序運行時間越來越長,AOF文件勢必越來越大,導致還原時間也將會越來越長,因此爲了解決膨脹問題,redis提供了重寫功能,原理:將多條操作簡化成一條,注意不是合併,不會去對AOF進行讀取,而是之間獲取服務器當前狀態實現的。

後臺重寫

是將客戶端發來的命令寫到AOF緩衝區和AOF重寫緩衝區中,避免數據不一致的問題。

發佈了17 篇原創文章 · 獲贊 6 · 訪問量 7576
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章