rdb持久化的方式是,每隔一段時間,系統啟動另外乙個程序,複製當前redis的程序,兩個程序的資料一模一樣。然後新啟動的
程序把redis資料備份出來,寫入乙個rdb檔案。
aof持久化的方式是,以日誌的形式,記錄redis的每次修改操作(讀取資料不記錄),記錄到aof檔案,需要恢復資料時,按順序執行即可。
當aof檔案過大時(有配置項),系統會選擇重寫aof檔案。重寫的方式是把當前的redis資料按照set的方式寫入備份檔案,從而縮小aof備份檔案。
兩種方式的優缺點:
rdb是非同步的,不影響redis的正常工作,而且資料恢復速度快。但是複製乙個程序需要浪費很大的資源,如果頻繁的進行rdb,
影響系統效能,而且當一次備份以後,系統斷電,備份完成到斷電這段時間的資料丟失。
aof可以設定每秒記錄一次新增的redis操作,甚至可以每次redis的修改操作都可以記錄,斷電也不會丟失資料。缺點也很明顯,aof是同步操作,
記錄資料時,redis處於阻塞狀態,重寫aof檔案時,更是要耗費大量的時間。
Redis持久化策略之AOF
預設的 redis 啟動配置檔案中,會有這麼兩條配置 redis 預設配置是 everysec,即每秒重新整理一次快取區。所以,理論上來說,隨著 redis 伺服器執行時間的持續,生成的 aof 檔案只會越來越大,redis 提供 aof 重寫策略幫助優化和壓縮 aof 檔案。比如 set a a ...
redis持久化 AOF持久化
1.aof持久化原理 aof持久化會將被執行的寫命令寫到aof檔案的末尾。在恢復的時候,redis只要從頭到尾重新執行一次aof檔案包含的所有寫命令 2.配置選項 固態硬碟禁用always選項,在某些情況頻繁讀寫會大大降低固態硬碟的壽命 4.aof檔案的重寫和壓縮 aof檔案裡面記錄了所有的命令而不...
redis持久化之AOF持久化
aof與rdb持久化通過儲存資料庫中的鍵值對來記錄資料庫狀態不同,aof持久化是通過儲存redis伺服器所執行的寫命令來記錄資料庫狀態的。被寫入aof檔案的所有命令都是以redis的命令請求協議格式儲存的。當aof持久化功能處於開啟狀態,伺服器在執行完乙個寫命令之後,會以協議格式將被執行的寫命令追加...