redis 資料的持久化

2021-09-24 23:54:16 字數 682 閱讀 9853

redis資料持久化

redis 是記憶體型資料庫,為了保證資料在斷電後不會丟失,需要將記憶體中的資料持久化到硬碟上。

1.rdb 持久化

rdb是redis預設的持久化機制。rdb相當於快照,儲存的是一種狀態。預設檔名是dump.rdb。

將某個時間點的所有資料都存放到硬碟上。

可以將快照複製到其它伺服器從而建立具有相同資料的伺服器副本。

如果系統發生故障,將會丟失最後一次建立快照之後的資料。

如果資料量很大,儲存快照的時間會很長。

2.aof 持久化

由於快照方式是在一定時間間隔內做一次,所以如果redis意外down掉,就會丟失最後一次快照所有的修改,如果應用要求不能丟失任何修改的話,可以採用aof。

使用 aof 持久化需要設定同步選項,從而確保寫命令什麼時候會同步到磁碟檔案上。這是因為對檔案進行寫入並不會馬上將內容同步到磁碟上,而是先儲存到緩衝區,然後由作業系統決定什麼時候同步到磁碟。有以下同步選項:

選項同步頻率

always

每個寫命令都同步

everysec

每秒同步一次

no讓作業系統來決定何時同步

隨著伺服器寫請求的增多,aof 檔案會越來越大。redis 提供了一種將 aof 重寫的特性,能夠去除 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支援兩種持久化 rdb和aof模式 一 名詞解釋 rdb 持久化可以在指定的時間間隔內生成資料集的時間點快照 point in time snapshot aof 持久化記錄伺服器執行的所有寫操作命令,並在伺服器啟動時,通過重新執行這些命令來還原資料集。aof 檔案中的命令全部以 redi...