redis持久化之RDB

2021-10-06 00:28:05 字數 705 閱讀 3203

redis是乙個非常好的快取中介軟體,就是將我們的資料放到快取中。我們知道快取的讀取是非常快的。但是誰都避免不了伺服器的意外宕機。一旦宕機,快取中的資料就會丟失。redis除了有主備方式來解決宕機之後的資料丟失之外,還有持久化機制。把資料寫在硬碟上,機器宕機之後啟動時會先去硬碟上讀取資料寫進記憶體。

redis的持久化機制分為兩種,即rdb和aof,本篇主要講rdb,下篇講aof

rdb執行流程

redis會fork乙個子程序,然後子程序將資料寫入乙個臨時的rdb檔案,當子程序完成對臨時的rdb檔案的寫入,將完成的rdb檔案來覆蓋 舊的rdb檔案。只有新的rdb檔案生成後才會將舊的檔案替換成新的,也就是說任何時候rdb檔案都是完整的

rdb觸發時機

1.配置檔案

2.使用命令

3.使用flushall命令:這個命令也會產生dump.rdb檔案,但裡面是空的,沒有意義

4.伺服器關閉: 如果執行shutdown命令讓redis正常退出,那麼此前redis就會執行一次持久化儲存。但是意外宕機不會持久化 比如斷電

5.主從複製的時候(具體請看主從複製文章)

因為要複製給從節點最新資訊,

所以也會觸發

缺點:由於他是每隔幾秒鐘觸發一次,當這次觸發完,下次還沒有觸發時,也可以存入記憶體資料,但是存入資料之後,突然宕機,那麼存的資料就不能被持久化了。就會出現最後一次持久化之後的資料丟失問題。

redis持久化方案之RDB

注意 redis啟動後會讀取rdb快照檔案,將資料從硬碟載入到記憶體。根據資料量大小與結構和伺服器效能不同,這個時間也不同。通常將記錄一千萬個字串型別鍵 大小為1gb的快照檔案載入到記憶體中需要花費20 30秒鐘。redis使用fork函式複製乙份當前程序的副本 子程序 父程序繼續接收並處理客戶端發...

Redis 持久化方式 RDB

redis持久化資料的兩種方式之一,另外一種是aof。redis會定期儲存資料快照至乙個rbd檔案中,並在啟動時自動載入rdb檔案,恢復之前儲存的資料。自動觸發 可以在redis的配置檔案中進行設定,以達到滿足條件自動觸發rdb備份。其他可能 主從複製的時候 因為要複製給從節點最新資訊,所以也會觸發...

Redis 持久化方式 RDB

針對redis的話題估計有些讀者已經開始反感了,昨天還是有一些讀者困惑,這就具體講述下redis持久化方式 rdb的實現方式 手動觸發 自動觸發 rdb 的持久化機制,例如以下場景 儲存 rdb 檔案儲存在 dir 配置指定的目錄下,檔名通過 dbfilename 配置指定。可以通過執行config...