執行BGREWRITEAOF命令對redis的AOF進行重寫
redis-cli BGREWRITEAOF
相關解釋:
Redis的AOF機制有點類似於Mysql binlog,是Redis的提供的一種持久化方式(另一種是RDB),它會將所有的寫命令按照一定頻率(no, always, every seconds)寫入到日志文件中,當Redis停機重啟后恢復數據庫。
AOF重寫:
(1) 隨着AOF文件越來越大,里面會有大部分是重復命令或者可以合並的命令(100次incr = set key 100)
(2) 重寫的好處:減少AOF日志尺寸,減少內存占用,加快數據庫恢復時間。
執行一個 AOF文件重寫操作,重寫會創建一個當前 AOF 文件的體積優化版本。
即使 BGREWRITEAOF 執行失敗,也不會有任何數據丟失,因為舊的 AOF 文件在 BGREWRITEAOF 成功之前不會被修改。
從 Redis 2.4 開始,AOF 重寫由 Redis 自行觸發, BGREWRITEAOF 僅僅用於手動觸發重寫操作。但網上有網友說已經3.2.5版本了,貌似redis還是沒有自動觸發BGREWRITEAOF
穩妥的方法還寫一個腳本每天定時去執行