Redis 七 持久化
1、 Redis 是一個支援持久化的記憶體資料庫,將記憶體中的資料儲存到磁碟中,重啟的時候可以再次載入進行使用。
兩種持久化方式:1)RDB快照(預設) 2)AOF日誌
2、 RDB快照 (Redis DataBase)
1)在指定的時間間隔內,將記憶體中的資料集快照寫入磁碟
2)預設方式是將 Reids 在記憶體中的資料集定時 dump 到磁碟上,檔案是 dump.rdb
3)實際操作過程是 fork 一個子程式,先將資料集寫入臨時檔案,寫入成功後替換之前的檔案,用二進位制壓縮儲存
一句話概括:子程式現將記憶體中的資料集快照dump到臨時檔案,寫入成功後替換之前的檔案
3、 AOF日誌 (Append Only File)
1)AOF 是以日誌的形式記錄伺服器所處理的每一個寫入、刪除操作,查詢操作不會記錄
2)原理是將 Redis 的操作日誌以追加的方式寫入檔案。 Redis 伺服器啟動之初會讀取該檔案,重新構建資料庫,以保證啟動後資料的完整性
3)以文字的方式記錄,開啟檔案可以看到詳細的操作記錄
4)在redis的配置檔案中設定appendonly yes,此時rdb方式自動失效
5)如果 AOF 檔案出現異常,Redis 在重啟的時候將會拒絕載入,從而保證資料的一致性。 AOF 檔案修復命令:redis-check-aof -fix
4、 RDB快照的優缺點:
優點:1)RDB 是緊湊的二進位制檔案 2)適合備份,全量複製等場景
缺點:1)RDB 無法實現實時或者秒級持久化 2)新老版本無法相容
5、 AOF日誌優缺點:
優點:1)可以更好地保護資料不丟失 2)append-only 模式寫入效能比較高 3)適合做災難性誤刪除的緊急恢復
缺點:1)對於同一份檔案,AOF 日誌要比 RDB 快照大
2)AOF 開啟後會對寫的 QPS(Query Per Second,每秒查詢率) 有所影響,相對於 RDB 來說寫 QPS 要下降
3)資料庫恢復比較慢,不合適做冷備
6、 RDB 和 AOF 的區別:
1)持久化方式不同:RDB是快照方式,二進位制檔案。AOF是日誌方式,文字檔案
2)資料完整性:RDB 可能會引起一定程度的資料丟失,AOF 不會造成資料丟失。如果對資料的完整性要求不高 RDB 是最好的解決方案,反之選擇 AOF
3)RDB 啟動效率更高,RDB 恢復資料遠快於 AOF
4)AOF 佔用的空間比 RDB 大
5)AOF 的同步速度比 RDB 慢
7、 Redis 持久化命令:
1)SAVE 直接呼叫 Redis 持久化函式 rdbSave ,阻塞 Redis 主程式,直到儲存完成為止,在主程式阻塞期間,伺服器不能處理客戶端的任何請求
如:save 900 1 900秒內有超過1個key被修改就快照儲存
2)BGSAVE 會建立一個子程式負責呼叫 rdbSave 函式,並在儲存完成之後向主程式傳送完成訊號,Redis 伺服器在 BGSAVE 執行期間仍然可以繼續處理客戶端的請求
相關文章
- 高可用Redis(七):Redis持久化Redis持久化
- (七)Redis 持久化 AOF、RDBRedis持久化
- Redis 學習筆記(篇七):Redis 持久化Redis筆記持久化
- Redis-第七章節-持久化Redis持久化
- redis持久化Redis持久化
- Redis 持久化Redis持久化
- [Redis]持久化Redis持久化
- Redis - 持久化Redis持久化
- Redis資料持久化—RDB持久化與AOF持久化Redis持久化
- Redis:持久化篇Redis持久化
- redis-持久化Redis持久化
- redis 之 持久化Redis持久化
- Redis 持久化方案Redis持久化
- redis ——AOF持久化Redis持久化
- redis 持久化策略Redis持久化
- Redis的持久化Redis持久化
- Redis 持久化(Persistence)Redis持久化
- Redis 的持久化Redis持久化
- redis系列:RDB持久化與AOF持久化Redis持久化
- redis之 Redis持久化配置Redis持久化
- redis快照--RDB持久化Redis持久化
- Redis 持久化之 AOFRedis持久化
- 精講Redis:持久化Redis持久化
- Redis原理二:持久化Redis持久化
- Redis的持久化方案Redis持久化
- Redis的持久化策略Redis持久化
- Redis 持久化詳解Redis持久化
- 淺談redis持久化Redis持久化
- Redis的持久化方式Redis持久化
- Redis持久化及其配置Redis持久化
- redis持久化機制Redis持久化
- Redis持久化儲存Redis持久化
- Redis-持久化策略Redis持久化
- Redis 資料持久化Redis持久化
- redis-15.持久化Redis持久化
- [Redis原始碼閱讀]redis持久化Redis原始碼持久化
- Redis持久化RDB和AOFRedis持久化
- Redis的持久化設計Redis持久化