Redis 持久化
阿新 • • 發佈:2020-08-03
Redis 持久化:Redis 將記憶體中的資料寫入到磁碟,永久儲存 。
持久化的模式
RDB(Redis DataBase)模式
AOF(Append Only File)模式
RDB 模式
可以在指定的時間間隔內生成資料集的時間點快照(point-in-time snapshot)
1.預設情況下,Redis儲存資料集快照到磁碟,名為 dump.rdb 的二進位制檔案。你可以設定讓Redis在N秒內至少有M次資料集改動時儲存資料集,或者你也可以手動呼叫SAVE或者BGSAVE命令。 2.在上文中我們已經在配置檔案中做過對應的配置: 例如,這個配置會讓Redis在每個60秒內至少有1000次鍵改動時自動轉儲資料集到磁碟: save 60 1000 3.當 Redis 需要儲存 dump.rdb 檔案時,伺服器執行以下操作: Redis 呼叫 fork() ,同時擁有父程序和子程序。 子程序將資料集寫入到一個臨時的 RDB 檔案中。當子程序完成對新 RDB 檔案的寫入時, Redis 用新 RDB 檔案替換原來的 RDB 檔案,並刪除舊的 RDB 檔案。 4.這種方式使得 Redis 可以從主從複製機制中獲益。
RDB 持久化
# 編輯配置檔案 [root@redis ~]# vim /service/redis/6379/redis.conf bind 172.16.1.51 127.0.0.1 port 6379 daemonize yes pidfile /service/redis/6379/redis_6379.pid loglevel notice logfile /service/redis/6379/redis_6379.log # 設定 redis 密碼 requirepass 123 # 持久化資料檔案儲存位置 dir /service/redis/6379 # rdb持久化資料檔名 dbfilename dump.rdb # 900秒(15分鐘)內有1個更改 save 900 1 # 300秒(5分鐘)內有10個更改 save 300 10 # 60秒(1分鐘)內有10000個更改 save 60 10000
RDB 檔案
# 使用 RDB 檔案步驟,如果先走第 2 步, RDB 檔案會被覆蓋
1.先停止 Redis
2.將 rdb檔案 放到指定目錄下
3.啟動 Redis