介紹
Redis是一個支持持久化的內存數據庫,也就是說Redis須要常常將內存中的數據同步到磁盤來保證持久化。
Redis支持四種持久化方式:
1、 Snapshotting(快照)也是默認方式;RDB
2、Append-Only file(縮寫aof)的方式;
3、虛擬內存方式;
4、diskstore方式;redis
RDB配置
save 900 1 # 在900秒內若是鍵值修改過1次就快照 save 300 10 # 在300秒內若是鍵值修改過10次就快照 save 60 10000 # 在60秒內鍵值修改過10000次就快照 stop-writes-on-bgsave-error yes # 後臺備份出錯時,是否禁止新的寫入操做? 若是不由止容易形成數據不一致 rdbcompression yes # 導出的rdb文件是否壓縮 rdbchecksum yes # 恢復時導入rdb文件是否檢驗完整性、是否檢驗版本是否一致 dbfilename dump.rdb # 導出來得rdb文件名 dir /var/lib/redis # rdb的存放路徑
AOF配置
appendonly no # 是否開啓aof功能 appendfilename "appendonly.aof" # 文件名 appendfsync always # 只要一修改就同步至緩衝區,並同步至磁盤 appendfsync everysec # 每秒將數據同步至緩衝區,並同步至磁盤 appendfsync no # redis不設定同步策略,由內核設定的參數決定是否同步 no-appendfsync-on-rewrite no # appendfsync設定爲always或everysec的話,還要不要同步磁盤 auto-aof-rewrite-percentage 100 # 每隔多久重構aof文件,單位秒 auto-aof-rewrite-min-size 64mb # aof文件最小爲多少時重構一次aof文件。搭配上一條使用 aof-load-truncated yes # 崩潰修復後自動進行全備
AOF對比RDB
AOF更安全,能夠將數據即時同步到文件中,可是消耗磁盤I/O,效率低;
Snapshot更高效,它是服務器在正常運行狀況下數據同步最佳手段,文件尺寸小,效率高,但安全性低;數據庫
另外的話,RDB只是將全部的寫操做保存,讀操做不保存;安全