1. 程式人生 > 其它 >redis資料持久化之RDB和AOF

redis資料持久化之RDB和AOF

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模式,更佔用硬碟儲存空間。