Redis提供了兩種方式來持久化數據:
RDB(Redis Database)持久化:RDB是Redis默認的持久化方式。它會將當前數據庫的數據以快照的形式保存到磁盤上的一個RDB文件中。可以通過配置redis.conf文件中的"save"參數來設置觸發保存快照的條件,如save 900 1
表示在900秒內至少有1個鍵被修改,則自動觸發保存快照。可以通過配置"dir"參數來指定RDB文件的保存路徑,默認保存在Redis服務器的工作目錄下。
AOF(Append Only File)持久化:AOF持久化方式會將每個寫操作命令追加到一個AOF文件中,以日志的形式記錄所有的寫操作。可以通過配置redis.conf文件中的"appendonly"參數來啟用AOF持久化,即設置為"appendonly yes"。AOF文件默認保存在Redis服務器的工作目錄下。Redis在啟動時會重新執行AOF文件中的命令,將數據恢復到內存中。
可以同時啟用RDB和AOF持久化方式,也可以選擇只使用其中一種方式。可以通過配置redis.conf文件中的"appendfsync"參數來設置AOF文件的同步方式,有三種選項:always(每個寫操作都立即同步到磁盤,效率最低)、everysec(每秒同步一次,推薦默認設置)和no(完全依賴操作系統的緩存同步機制)。
需要注意的是,持久化操作會增加Redis服務器的IO負載和磁盤空間的占用,因此需要根據實際情況選擇合適的持久化方式和參數配置。