Redis 的持久化機制是什麼?各自的優缺點?

2021-10-08 02:43:42 字數 785 閱讀 4977

redis提供兩種持久化機制 rdb 和 aof 機制:

1、rdbredis database)持久化方式:

是指用資料集快照的方式半持久化模式)記錄 redis 資料庫的所有鍵值對,在某個時間點將資料寫入乙個臨時檔案,

持久化結束後,用這個臨時檔案替換上次持久化的檔案,達到資料恢復。

優點:
(1)只有乙個檔案 dump.rdb,方便持久化。

(2)容災性好,乙個檔案可以儲存到安全的磁碟。

(3)效能最大化,fork 子程序來完成寫操作,讓主程序繼續處理命令,所以是 io最大化。使用單獨子程序來進行持久化,主程序不會進行任何 io 操作,保證了 redis的高效能)

(4)相對於資料集大時,比 aof 的啟動效率更高。

缺點:
資料安全性低。rdb 是間隔一段時間進行持久化,如果持久化之間 redis 發生故障,會發生資料丟失。

所以這種方式更適合資料要求不嚴謹的時候

是指所有的命令列記錄以 redis 命令請求協議的格式完全持久化儲存)儲存為 aof 檔案。
優點:

(3)aof 機制的 rewrite 模式。aof 檔案沒被 rewrite 之前(檔案過大時會對命令進行合併重寫),可以刪除其中的某些命令(比如誤操作的 flushall))

缺點:

(1)aof 檔案比 rdb 檔案大,且恢復速度慢。

(2)資料集大的時候,比 rdb 啟動效率低。

Redis 持久化機制

持久化資料 就是將記憶體中的資料寫入到硬碟裡面,原因 為了之後重用資料 比如重啟機器 機器故障之後恢復資料 或者是為了防止系統故障而將資料備份到乙個遠端位置 redis通過快照來獲得在某個時間點上記憶體裡面的資料副本。redis建立快照之後,可以對快照進行備份,可以將快照複製到其他伺服器從而建立具有...

Redis的持久化機制

該持久化方式實際是在redis內部乙個定時器事件,每隔固定時間去檢查當前資料發生的改變次數與時間是否滿足配置的持久化觸發的條件,如果滿足則通過作業系統fork呼叫來建立出乙個子程序,這個子程序缺省會與父程序共享相同的位址空間,這時就可以通過子程序來遍歷整個記憶體來進行儲存操作,而主程序則仍然可以提供...

Redis的持久化機制

redis由於支援非常豐富的記憶體資料結構型別,如何把這些複雜的記憶體組織方式持久化到磁碟上是乙個難題,所以redis的持久化方式與傳統資料庫的方式有比較多的差別,redis一共支援四種持久化方式,分別是 在設計思路上,前兩種是基於全部資料都在記憶體中,即小資料量下提供磁碟落地功能,而後兩種方式則是...