古詩詞大全網 - 古詩大全 - rdb和aof的區別是什麽?

rdb和aof的區別是什麽?

rdb和aof的區別為:形式不同、啟動效率不同、安全性不同。

壹、形式不同

1、rdb:rdb在指定的時間間隔內將內存中的數據集快照寫入磁盤,實際操作過程是fork壹個子進程,先將數據集寫入臨時文件,寫入成功後,再替換之前的文件,用二進制壓縮存儲。

2、aof:aof以日誌的形式記錄服務器所處理的每壹個寫、刪除操作,查詢操作不會記錄,以文本的方式記錄,可以打開文件看到詳細的操作記錄。

二、啟動效率不同

1、rdb:通過fork子進程來協助完成數據持久化工作的,因此,如果當數據集較大時,可能會導致整個服務器停止服務幾百毫秒,甚至是1秒鐘。

2、aof:由子進程完成這些持久化的工作,可以極大地避免服務進程執行IO操作。如果數據集很大,aof的啟動效率會更高。

三、安全性不同

1、rdb:系統壹旦在定時持久化之前出現宕機現象,此前沒有來得及寫入磁盤的數據都將丟失。

2、aof:由於該機制對日誌文件的寫入操作采用的是append模式,因此在寫入過程中即使出現宕機現象,也不會破壞日誌文件中已經存在的內容。