Redis資料庫持久化

2021-10-25 18:06:45 字數 714 閱讀 3531

redis資料庫持久化

redis持久化:

rdb(半持久化):當達成某種寫入條件,或者手動執行持久化命令時,才會進行持久化,rdb持久化類似於快照,將當前資料定格,以二進位制格式儲存到硬碟當中的持久化檔案裡,實時性不高

rdb持久化的工作流程:

進行rdb持久化時,主程序會fork出乙個子程序,通過子程序來完成資料的持久化操作,持久化時,資料會先寫入臨時檔案,完全寫入後,再覆蓋舊的持久化檔案。子程序進行持久化時,並不會對父程序處理請求造成影響。所以rdb持久化的方式對redis的效能干擾很小。

aof(全持久化):aof持久化會將每次的修改操作記錄於乙個aof緩衝區當中,後續會根據設定的同步策略,向硬碟中的aof持久化檔案追加相關的修改操作。一般來說aof持久化的實時性,比rdb要高很多,如果出現redis突然宕機,rdb持久化很有可能會導致很多的資料丟失,而aof就可以盡可能的保證資料安全,但是aof能夠保全的資料量與同步策略有關

aof持久化的工作流程:

aof與rdb不同,持久化時不會生成新的子程序,會在主程序中生成乙個aof執行緒負責持久化,每當有新的修改操作來臨時,aof執行緒都會相應的將每個修改操作新增到緩衝區當中,後續根據同步策略追加寫入硬碟的檔案裡。

aof中的三種同步策略(同步頻率):

1、always(ao/wei/si):每當有操作命令新增進緩衝區後,redis就會呼叫fsync(f/sei/ke),將新加入的命令追加到硬碟檔案中,屬於完全實時性操作

Redis 資料持久化

首先redis內部使用乙個redisobject物件來表示所有的key和value,redisobject最主要的資訊如上圖所示 type代表乙個value物件具體是何種資料型別,encoding是不同資料型別在redis內部的儲存方式,比如 type string代表value儲存的是乙個普通字串...

redis持久化資料

如果我們想要redis僅僅作為純記憶體的快取來用,那麼可以禁止rdb和aof所有的持久化機制 如果同時使用rdb和aof兩種持久化機制,那麼在redis重啟的時候,會使用aof來重新構建資料,因為aof中的資料更加完整 1 rdb會生成多個資料檔案,每個資料檔案都代表了某乙個時刻中redis的資料,...

redis資料持久化RDBAOF

全稱 reids database 資料持久化方式之一 在指定時間間隔內,將記憶體中的資料集快照寫入硬碟。術語叫 snapshot 快照。恢復時,將快照檔案直接讀到記憶體裡。root host53 cd var lib redis 6379 root host53 6379 ls dump.rdb ...