5.Redis 持久化
阿新 • • 發佈:2020-12-23
1.Redis 持久化 有兩種方式: 快照---RDB檔案; 追加式檔案---AOF檔案(日誌記錄)
2.2.儲存點(RDB的啟用和禁用) 都在redis.conf 檔案中
你可以配置儲存點, 使 Redis 如果在每 N 秒後資料發生了 M 次改變就儲存快照檔案. 例如下面這個儲存點配置表示每 60 秒, 如果資料發生了 1000 次以上的變動, Redis就會自動儲存快照檔案:
save 60 1000
當然也可以儲存多個 redis.conf 配置檔案預設設定了 3個
如果想禁用快照儲存的功能, 可以通過註釋掉所有 "save" 配置達到,或者在最後一條 "save" 配置後新增如下的配置:
- RDB 持久化方式會在一個特定的間隔儲存那個時間點的一個數據快照.
- AOF 持久化方式則會記錄每一個伺服器收到的寫操作. 在服務啟動時, 這些記錄的操作會逐條執行從而重建出原來的資料. 寫操作命令記錄的格式跟 Redis 協議一致, 以追加的方式進行儲存.
- Redis 的持久化是可以禁用的, 就是說你可以讓資料的生命週期只存在於伺服器的執行時間裡.
- 兩種方式的持久化是可以同時存在的, 但是當 Redis 重啟時, AOF檔案會被優先用於重建資料.
# RDB檔名,預設為dump.rdb。 dbfilename dump.rdb # 檔案存放的目錄,AOF檔案同樣存放在此目錄下。預設為當前工作目錄。 dir /usr/local/redis/working
save ""3.AOF 快照並不是很可靠. 如果你的電腦突然宕機了, 或者電源斷了, 又或者不小心殺掉了程序, 那麼最新的資料就會丟失.而 AOF 檔案則提供了一種更為可靠的持久化方式. 每當 Redis 接受到會修改資料集的命令時, 就會把命令追加到 AOF 檔案裡, 當你重啟 Redis 時, AOF 裡的命令會被重新執行一次, 重建資料. 3.啟用AOF 把配置項 appendonly 設為 yes:
3.1檔案路徑和名稱
# 檔案存放目錄,與RDB共用。預設為當前工作目錄。 dir /usr/local/redis/working # 預設檔名為appendonly.aof appendfilename "appendonly.aof"3.2可靠性 你可以配置 Redis 呼叫 fsync 的頻率, 有三個選項:
- 每當有新命令追加到 AOF 的時候呼叫 fsync. 速度最慢, 最安全.
- 每秒 fsync 一次. 速度快 (2.4版本跟快照方式速度差不多), 安全性不錯 (最多丟失 1 秒的資料).
- 從不 fsync, 交由系統去處理. 這個方式速度最快, 但是安全性一般.
# appendfsync always appendfsync everysec # appendfsync no
3.3 AOF 重寫 簡單來說 當.aof 到達設定的值大小後 會重寫日誌 其實就是精簡 可以理解為 本來有100記錄 重寫後 就只有50條了。