redis的AOF持久化配置

2021-08-28 16:55:58 字數 821 閱讀 4964

1.aof持久化配置

aof持久化,預設是關閉的,預設開啟的持久化配置是rdb

在生產環境中,一般來說aof是要開啟的,除非對一兩分鐘

沒有影響。

開啟aof機制之後,redis沒收到一次寫命令,就會寫入到

日誌檔案中,當然現寫入到os cache 中,然後每隔一定的時間

在fsync一下,把命令寫入到磁碟 中。

如果aof和rdb都開啟了,redis 重啟的時候,會優先通過

aof進行資料恢復的,因為aof資料比較完整。

aof有三種fsync策略:

always:每次寫入一條資料,立即將這個資料fsync寫到磁碟上去(效能很差)

everysec:每秒將os cache記憶體中的資料fsync到磁碟(生產環境使用這個策略,qps能達到上萬)

no : 僅僅將資料寫入到os cache就撒手不管了,os 會根據自己的策略把資料寫入到磁碟,不可控

aof的rewrite,redis中的資料是有限的,很多資料會自動過期,也可能會被使用者刪掉,可能會被redis用快取清楚的演算法清楚掉。

aof會自動每隔一定的時間,做rewrite操作。

rewrite過程:

(1)redis fork乙個子程序

(2)子程序基於當前記憶體中的資料,構建日誌,開始往乙個新的臨時的aof檔案中寫入日誌

(3)redis主程序,接收到client新的寫操作之後,在記憶體中寫入日誌,同時新的日誌也繼續寫入舊的aof檔案

(4)子程序寫完新的日誌檔案之後,redis主程序將記憶體中的新日誌再次追加到新的aof檔案中

(5)用新的日誌檔案替換掉舊的日誌檔案

redis持久化 AOF持久化

1.aof持久化原理 aof持久化會將被執行的寫命令寫到aof檔案的末尾。在恢復的時候,redis只要從頭到尾重新執行一次aof檔案包含的所有寫命令 2.配置選項 固態硬碟禁用always選項,在某些情況頻繁讀寫會大大降低固態硬碟的壽命 4.aof檔案的重寫和壓縮 aof檔案裡面記錄了所有的命令而不...

Redis的持久化 AOF

redis的aof持久化策略是將傳送到redis服務端的每一條命令都記錄下來,並且儲存到硬碟中的aof檔案中,類似打日誌檔案,來一條命令就記錄一條。aof設定 aof測試 當客戶端向伺服器傳送一些redis命令時,redis會將所執行的命令記錄到aof檔案中,如下所示 當redis伺服器重啟後,會將...

Redis的持久化 AOF

redis的aof持久化策略是將傳送到redis服務端的每一條命令都記錄下來,並且儲存到硬碟中的aof檔案中,類似打日誌檔案,來一條命令就記錄一條。aof設定 aof測試 當客戶端向伺服器傳送一些redis命令時,redis會將所執行的命令記錄到aof檔案中,如下所示 當redis伺服器重啟後,會將...