iT邦幫忙

2021 iThome 鐵人賽

DAY 6
0
Software Development

Redis還在學系列 第 6

Day6 Redis組態檔設定-SNAPSHOT

Redis.config

SNAPSHOT

  • save

Redis Server 依照需求將資料存在硬碟中保持持久化rdb.dump.

https://ithelp.ithome.com.tw/upload/images/20210921/20111658aHHbiJ4Vf5.png
https://ithelp.ithome.com.tw/upload/images/20210921/20111658cAfFF8188S.png

# 預設
# 用途如果只是快取不需要持久化則維持預設
# save ""

# 如果需要持久化避免資料因為Redis Server關閉而資料消失
# 3600秒有一次變動則快照
save 3600 1

# 300秒內有100次變動則快照
save 300 100

# 60秒內有10000次變動則快照
save 60 10000
  • stop-writes-on-bgsave-error

假設透過bgsave進行快照失敗時,是否需要停止操作寫入,因為bgsave如果失敗後會重試快照.

https://ithelp.ithome.com.tw/upload/images/20210921/20111658ubJmrs2Q44.png

# 預設
stop-writes-on-bgsave-error yes
  • rdbcompression

是否需要壓縮dump.rdb.壓縮後檔案會變小,注意會消耗部分CPU效能.

https://ithelp.ithome.com.tw/upload/images/20210921/201116587SpwhsE3dz.png

# 預設
# 啟用壓縮資料
rdbcompression yes
  • rdbchecksum

確認快照檔案dump.rdb的CRC64是否正確,會消耗約10%的CPU效能,如果在意性能可以關閉.

https://ithelp.ithome.com.tw/upload/images/20210921/20111658YKHZXZI1Fs.png

# 預設
# 啟用檢查檔案CRC64是否正確
rdbchecksum yes
  • sanitize-dump-payload

在Redis Server載入dump.rdb時,關閉ziplist和listpack等相關完整檢查機制,避免後續操作時可能造成崩潰或是中斷.

https://ithelp.ithome.com.tw/upload/images/20210921/20111658EORzBa5QP3.png

# 預設
# 不進行完整檢查
# sanitize-dump-payload no

# 進行完整檢查
sanitize-dump-payload yes

# 客戶端連線時決定是否需要進行完整檢查
sanitize-dump-payload clients

  • dbfilename

存放持久性化資料檔案名稱.

https://ithelp.ithome.com.tw/upload/images/20210921/20111658urkeEgRTpZ.png

# 預設
dbfilename dump.rdb
  • dir

持久化存放路徑,不包含檔案名稱.

https://ithelp.ithome.com.tw/upload/images/20210921/20111658CXqEwHOmiq.png

# 預設
dir ./

# 指定位置
dir /home/redis/data/
  • rdb-del-sync-files

當Redis Server未啟用持久化時刪除複製的dump.rdb檔案,預設不會刪除,基於安全性或需求,當副本集使用完dump.rdb時建議盡快刪除.

https://ithelp.ithome.com.tw/upload/images/20210921/20111658Ox1DW1bWVl.png

# 預設
rdb-del-sync-files no

上一篇
Day5 Redis組態檔設定-GENERAL 2
下一篇
Day7 Redis組態檔設定-REPLICATION
系列文
Redis還在學30

尚未有邦友留言

立即登入留言