Redis 提供了兩種主要的備份方法:RDB 和 AOF。下面分別介紹這兩種方法的操作步驟。
RDB 是 Redis 默認的持久化方式,它會在指定的時間間隔內生成數(shù)據(jù)集的時間點快照(Snapshot)。這些快照文件可以用于備份、災難恢復等場景。
操作步驟:
a. 首先,確保 Redis 配置文件(redis.conf)中的 save
配置項已經(jīng)設置。例如,如果你希望每 5 分鐘生成一次快照,可以將配置項設置為:
save 900 1
save 300 10
save 60 10000
這里,900
表示 5 分鐘,1
表示在最后一次快照之后有 1 個鍵值變更時觸發(fā);300
表示 300 秒,10
表示在最后一次快照之后有 10 個鍵值變更時觸發(fā);60
表示 60 秒,10000
表示在最后一次快照之后有 10000 個鍵值變更時觸發(fā)。
b. 使用 SAVE
或 BGSAVE
命令手動觸發(fā)一次快照。例如,在命令行中輸入 SAVE
或 BGSAVE
,Redis 會生成一個新的 RDB 文件。
c. 找到生成的 RDB 文件。默認情況下,RDB 文件會保存在 Redis 安裝目錄下,文件名為 dump.rdb
。你可以將其復制到其他存儲介質上進行備份。
AOF(Append Only File)是另一種持久化方式,它記錄了 Redis 服務器接收到的所有寫操作命令。通過重放這些命令,可以從 AOF 文件中恢復數(shù)據(jù)。
操作步驟:
a. 確保 Redis 配置文件(redis.conf)中的 appendonly
配置項已經(jīng)設置為 yes
。例如:
appendonly yes
b. 如果你希望將 AOF 文件存儲在非默認目錄,可以將 appendfilename
配置項設置為自定義路徑。例如:
appendfilename "/path/to/your/appendonly.aof"
c. 使用 BGREWRITEAOF
命令手動觸發(fā)一次 AOF 文件重寫。這將生成一個包含所有當前數(shù)據(jù)集寫操作命令的新 AOF 文件。例如,在命令行中輸入 BGREWRITEAOF
。
d. 找到生成的 AOF 文件。默認情況下,AOF 文件會保存在 Redis 安裝目錄下,文件名為 appendonly.aof
。你可以將其復制到其他存儲介質上進行備份。
注意:RDB 和 AOF 備份方法各有優(yōu)缺點。RDB 備份文件占用的空間較小,恢復速度較快,但可能丟失最后一次快照之后的數(shù)據(jù)變更。AOF 備份文件包含了所有數(shù)據(jù)變更命令,恢復速度較慢,但可以保證數(shù)據(jù)的完整性。你可以根據(jù)自己的需求選擇合適的備份方法。