解決redis aof檔案過大的問題

2021-09-22 16:58:56 字數 601 閱讀 6115

執行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

穩妥的方法還寫乙個指令碼每天定時去執行

redis AOF檔案過大

最近新安裝了一台redis,版本為redis 3.2.5 資料盤用的是固態硬碟。之前用的是普通硬碟,redis日誌天天報 asynchronous aof fsync is taking too long disk is busy?writing the aof buffer without wai...

解決SQL SERVER LDF檔案過大的問題

我的sql server資料庫僅用作分析用,不需要考慮資料備份和恢復的問題.每天都會增長大量的資料,現在碰到的問題是,ldf 檔案增長的非常厲害,需要壓一壓.參考文章 壓縮ldf檔案的操作步驟如下 1.將資料庫恢復模式調整為 模式 2.定期做手動shrink庫,比如每12小時 dbcc shrink...

SQL Server中 ldf 檔案過大的解決方法

在sql server中經常遇到事務日誌變大的情況,除了將資料庫設定為 自動收縮 外,還可以使用下面的sql命令進行快速清除資料庫中的事務日誌,命令如下 第一步 清空日誌 dump transaction dataname with no log 第二步 截斷事務日誌 backup log data...