【Redis】Redis持久化的兩種方式

redis的兩種持久化方式,快照和只追加文件(aof),快照保存數據,AOF保存每次執行的命令。
配置文件中的dir 選項指定了快照文件和aof文件的保存位置。

【快照】
快照持久化的命令:bgsave和save,通過save命令執行時不會創建子線程爭搶資源。

配置文件:

save 60 1000  #60s內1000次操作觸發快照保存
stop-writes-on-bgsave-error no #保存快照失敗後是否繼續執行寫命令
rdbcompression yes # 是否對快照文件壓縮
dbfilename dump.rdb    # 快照文件名

快照保存數據時,如果系統發生崩潰。最近一次生成快照到崩潰時間內的數據將會被丟失。

【AOF】
配置文件:

appendonly no # 是否使用AOF進行持久化

appendfsync always /everysec /no # 選擇每條命令寫入硬盤,或每秒同步一次, 或由操作系統決定何時進行同步(系統崩潰時會丟失不定量的數據,以及寫入操作不夠快時寫入操作可能被阻塞)推薦使用everysec

no-appendfsync-on-rewrite no # 重寫aof文件時不會丟失數據,會導致阻塞。爲yes時相當於appendfsync設置爲no,不執行磁盤操作而是寫入緩存區,有數據丟失的風險。

# 當aof文件體積大於64MB並且aof文件體積比上一次重寫之後體積大了100%以上的時候,redis執行GBREWRITEAOF命令
auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mb 

解決aof文件冗餘的問題可以通過手動執行BGREWRITEAOF進行重寫aof文件

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