十、持久化之RDB
1. RDB介紹
• 全稱 Reids DataBase
– 資料持久化方式之一
– 在指定時間間隔內,將記憶體中的資料集快照寫入硬碟。
– 術語叫Snapshot快照。
– 恢復時,將快照檔案直接讀到記憶體裡。
2. 相關配置引數
• 檔名
– dbfilename “dump.rdb” //檔名
– save “” //禁用RDB
• 資料從記憶體儲存到硬碟的頻率
– save 900 1 // 900秒內且有1次修改存檔
– save 300 10 //300秒內且有10次修改存檔
– save 60 10000 //60秒內且有10000修改存檔
• 手動立刻存檔
– > save //阻塞寫存檔
– > bgsave //不阻塞寫存檔
• 壓縮
– rdbcompression yes | no
• 在儲存快照後,使用crc16演算法做資料校驗
– rdbchecksum yes|no
• bgsave出錯停止寫操作,對資料一致性要求不高設定為no
– stop-writes-on-bgsave-error yes|no
3. 使用RDB檔案恢復資料
• 備份資料
– 備份dump.rdb 檔案到其他位置
– ~]# cp 資料庫目錄/dump.rdb 備份目錄
• 恢復資料
– 把備份的dump.rdb檔案拷貝回資料庫目錄,重啟red
is服務
– cp 備份目錄/dump.rdb 資料庫目錄/
– /etc/redid/redis_埠 start
4. RDB優點/缺點
• RDB優點
– 持久化時,Redis服務會建立一個子程序來進行持久
化,會先將資料寫入到一個臨時檔案中,待持久化過
程都結束了,再用這個臨時檔案替換上次持久化好的
檔案;整個過程中主程序不做任何IO操作,這就確保
了極高的效能。
– 如果要程序大規模資料恢復,且對資料完整行要求不
是非常高,使用RDB比AOF更高效。
• RDB的缺點
– 意外宕機,最後一次持久化的資料會丟失。