Redis的持久化資料

2022-04-15 00:46:33 字數 695 閱讀 7407

redis支援兩種持久化:rdb和aof模式

一、名詞解釋:

rdb:持久化可以在指定的時間間隔內生成資料集的時間點快照(point-in-time snapshot)。

aof:持久化記錄伺服器執行的所有寫操作命令,並在伺服器啟動時,通過重新執行這些命令來還原資料集。

aof 檔案中的命令全部以 redis 協議的格式來儲存,新命令會被追加到檔案的末尾。 redis 還可以在後台對 aof 檔案進行重寫(rewrite)

使得 aof 檔案的體積不會超出儲存資料集狀態所需的實際大小。

pdb和aof的優先順序:

如果同時開啟rdb和aof模式,aof的優先順序要比rdb高:

redis 還可以同時使用 aof 持久化和 rdb 持久化。 在這種情況下, 當 redis 重啟時, 它會優先使用 aof 檔案來還原資料集。

因為 aof 檔案儲存的資料集通常比 rdb 檔案所儲存的資料集更完整。

aof 的方式有點像orcal的邏輯備庫!

aof redis 還會在後台對資料進行重寫,比如set key1 , set key2 ,其實set key1 沒用,這樣就可以把set key1 刪掉了。這樣儲存下來的資料集就很小了可以壓縮了!

你甚至可以關閉持久化功能,讓資料只在伺服器執行時存在。

二、rdb&aof優缺點

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。將某個時間點的所有資料都存放到硬碟上。可以將快照複製到其它伺服...