redis資料持久化之RDB和AOF
阿新 • • 發佈:2022-02-10
redis資料持久化之RDB和AOF
前言
redis雖然是記憶體快取程式,但是可以將記憶體中的資料儲存到硬碟上,從而實現資料儲存。目前有兩種redis資料持久化方式,分別是RDB和AOF。
RDB模式
RDB之簡介
RDB(redis database),redis每隔一段時間對當前資料生成一個“快照”,預設只保留最新的一份快照,預設快照檔名為“dump.rdb”。redis.conf的配置如下:
# 900秒內,如果超過1個key被修改,則發起快照儲存
save 900 1
# 300秒內,如果超過10個key被修改,則發起快照儲存
save 300 10
# 60秒內,如果超過10000個key被修改,則發起快照儲存
save 60 10000
RDB之優缺點
- 優點
- RDB基於時間點儲存資料,可以通過指令碼自定義時間點備份並保留多個備份,當出現問題時可以恢復到不同時間點的版本。
- 大資料量時恢復較快
- 缺點:
- 實時性不高,一旦發生故障,可能會丟失好幾分鐘的資料。
- 資料量很大時,備份時間較長。
AOF模式
AOF之簡介
AOF(Append Only File),redis將所有對資料庫進行寫入的命令(及其引數)記錄到AOF檔案(預設檔案appendonly.aof)中。redis.conf配置如下:
appendfsync yes
# 每次有資料修改時都會寫入AOF檔案
appendfsync always
# 每秒同步一次。aof預設策略
appendfsync everysec
AOF之優缺點
- 優點:
- 實時性更強,即便故障,按照預設的fsync策略,也只會丟失1秒的資料。
- 缺點:
- 相較於RDB模式,更佔用硬碟儲存空間。