【Redis持久化】 RDB持久化實驗
1.1 學習內容
- 如何配置RDB持久化
- RDB持久化原理
- 基於RDB持久化實驗
1.2 如何配置RDB持久化
採用之前部署的6379端口的Redis
# 進入redis配置文件目錄
cd /etc/redis/
# 編輯配置文件
vim 6379.conf
# 配置rdb持久化,大概220行
#每隔5秒,檢查一次,如果有一條數據變更,就生成一個dump快照文件,保存此刻redis內存中完整的數據快照文件,snapshotting
save 5 1
拓展:
-
save可以設置多個,就是多個snapshotting檢查點,每到一個檢查點,就會去check一些,是否有指定key數量發生了變更,如果有,就生成一個新的dump.rdb文件
-
可以手動調用save或者bgsave命令,同步或者是異步執行rdb快照文件。
1.3 RDB持久化工作原理
- redis根據配置嘗試生成rdb快照文件(dump.rdb)
- fork一個子進程出來
- 子進程嘗試將數據dump到臨時的rdb快照文件中
- 完成rdb快照文件的生成後,就會替換之前的快照文件
1.4 rdb持久化實驗
- redis設置幾條數據,採用redis-cli SHUTDOWN(正常關閉Redis進程),然後重新啓動Redis,看之前數據還在不在。
拓展:
a. redis-cli SHUTDOWN命令方式停止redis,會在redis退出的時候將內存中的數據立即生成一份完整的rdb快照文件到備份目錄中。
b. 查詢redis備份目錄:vim /etc/redis/6379.conf,搜索"dir",大概在265行,dump.rdb快照文件就存放在該目錄下。
-
redis保存幾條新的數據,採用kill的方式關閉Redis進程,模擬redis故障一次退出,再重啓redis,查看數據是否還存在。
-
手動設置一個save檢查點,save 5 2,測試變更一條和多條數據,5s之後查看dump.rdb文件內容是否發生變更。kill掉redis進程,再重啓redis,查看數據是否存在。
參考石衫老師 《億級流量電商詳情頁系統》課程筆記
親,如果覺得還不錯,點個讚唄!!!