Redis 四 資料的持久化

2021-07-24 13:48:10 字數 668 閱讀 9656

rdb在特定的一段時間內,redis會fork乙個和主程序一模一樣的子程序來進行持久化,將記憶體中的資料寫到磁碟中。

優點:1.適合大規模的恢復,

2.對資料的完整性和一致性要求不高。

缺點:1.在一定的時間段內,如果redis掛掉了,就會丟失最後一次快照後的所有修改。

2.fork子程序會對記憶體中的資料相當於copy了乙份,兩倍的膨脹性需要考慮。

aof概念:以日誌的形式來記錄每個寫操作,將redis執行過的所有寫指令記錄下來(讀操作不記錄),

只許追加檔案但不可以改寫檔案,redis啟動之初會讀取該檔案重新構建資料,換言之,redis

重啟的話就根據日誌檔案的內容將寫指令從前到後執行一次以完成資料的恢復工作。

rewrite:

aof檔案持續增長而過大時,會fork出一條新程序來將檔案重寫(也是先寫臨時檔案最後再rename),

遍歷新程序的記憶體中資料,每條記錄有一條的set語句。重寫aof檔案的操作,並沒有讀取舊的aof檔案,

而是將整個記憶體中的資料庫內容用命令的方式重寫了乙個新的aof檔案,這點和快照有點類似,重寫原理:redis會記錄上次重寫時的aof大小,預設配置是當aof檔案大小是上次rewrite後大小的一倍且檔案大於64m時觸發

優點缺點

相同資料集的資料而言aof檔案要遠大於rdb檔案,恢復速度慢於rdb

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 資料的持久化

redis資料持久化 redis 是記憶體型資料庫,為了保證資料在斷電後不會丟失,需要將記憶體中的資料持久化到硬碟上。1.rdb 持久化 rdb是redis預設的持久化機制。rdb相當於快照,儲存的是一種狀態。預設檔名是dump.rdb。將某個時間點的所有資料都存放到硬碟上。可以將快照複製到其它伺服...