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