Redis 5.0持久性存儲配置

因最近公司業務需要使用redis的持久性存儲,筆記一下:

因爲redis爲內存型數據庫,如果進程退出,數據便會丟失,爲解決該問題,redis持久性存儲提供以下兩種方法:

RDB:按指定的時間配置進行數據的存儲,默認開啓。

AOF:記錄每次redis的操作,類似MySQL的binlog日誌,redis重啓後會優先使用AOF文件進行恢復數據。

1)、RDB配置:

#vim redis.conf

#默認開啓如果需要關閉把save ""取消註釋即可
#save ""

#900秒(15分鐘)至少有1條key變化,其他同理
save 900 1
save 300 10
save 60 10000

#RDB文件名稱及存放路徑
dbfilename dump.rdb
dir ./

#備份進程出錯時,主進程停止接受寫入操作,默認yes
stop-writes-on-bgsave-error yes
#是否壓縮,會佔用部分cpu資源,默認yes
rdbcompression yes

#RDB自動觸發策略是否啓用,默認爲yes
rdb-save-incremental-fsync yes

RDB手動觸發和自動觸發:
1)自動觸發
如上面配置所示,按配置情況觸發
2)手動觸發
連接redis後使用命令save、bgsave觸發
save:會阻塞redis服務器,直到完成持久化
bgsave:會fork一個子進程,由子進程進行持久化。

2)AOF配置:

#vim redis.conf

#是否開啓AOF,默認爲否
appendonly no

#AOF文件名字及路徑,若RDB路徑已設置這裏可不設置
appendfilename "appendonly.aof"
dir ./

#AOF的3種模式,no(使用系統緩存處理,快)、always(記錄全部操作,慢但比較安全)、everysec(每秒同步,折中方案,默認使用)
appendfsync everysec

#重寫期間是否同步數據,默認爲no
no-appendfsync-on-rewrite no

#自動觸發重寫的配置
auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mb

#AOF重寫策略是否啓用,默認爲yes
aof-rewrite-incremental-fsync yes

#加載AOF時,如果報錯則會繼續但寫入log,如果爲no則不會繼續
aof-load-truncated yes

#Redis5.0有的功能,AOF重寫及恢復可以使用RDB文件及AOF文件,速度更快,默認yes
aof-use-rdb-preamble yes

AOF重寫
因爲AOF爲記錄每次的操作,會導致實際記錄不多但文件過大,所以需要做重寫操作
1)AOF自動重寫:按配置文件條件自動觸發重寫
2)AOF手動重寫:連接redis,使用命令bgrewriteaof,進行手動重寫

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章