Redis 提供了兩種持久化方法:RDB(Redis DataBase)和 AOF(Append Only File)。這里將介紹如何使用這兩種方法進(jìn)行數(shù)據(jù)備份。
RDB 是 Redis 默認(rèn)的持久化方式。它會在指定的時間間隔內(nèi)生成數(shù)據(jù)集的時間點快照(Snapshot)。這些快照文件可以用于備份、災(zāi)難恢復(fù)等場景。
配置 RDB 持久化:
在 redis.conf 配置文件中,找到或添加以下配置項:
save 900 1
save 300 10
save 60 10000
這些配置項表示在 900 秒內(nèi)有 1 個鍵值變更、300 秒內(nèi)有 10 個鍵值變更或 60 秒內(nèi)有 10000 個鍵值變更時,Redis 會自動生成一個 RDB 文件。
生成 RDB 文件:
在 redis-cli 中,使用以下命令手動觸發(fā) RDB 生成:
SAVE 或 BGSAVE
備份 RDB 文件:
Redis 會將生成的 RDB 文件保存在服務(wù)器的默認(rèn)目錄下(通常是 /var/lib/redis/)。你可以將這個目錄復(fù)制到其他服務(wù)器,以實現(xiàn)數(shù)據(jù)備份。
AOF 持久化記錄了 Redis 服務(wù)器接收到的所有寫操作命令,并在服務(wù)器啟動時重新執(zhí)行這些命令來恢復(fù)數(shù)據(jù)。AOF 文件可以用于備份和災(zāi)難恢復(fù)等場景。
配置 AOF 持久化:
在 redis.conf 配置文件中,找到或添加以下配置項:
appendonly yes
appendfilename "appendonly.aof"
這些配置項表示開啟 AOF 持久化,并將 AOF 文件命名為 appendonly.aof。
生成 AOF 文件:
在 redis-cli 中,使用以下命令手動觸發(fā) AOF 生成:
BGREWRITEAOF
備份 AOF 文件:
Redis 會將生成的 AOF 文件保存在服務(wù)器的默認(rèn)目錄下(通常是 /var/lib/redis/)。你可以將這個目錄復(fù)制到其他服務(wù)器,以實現(xiàn)數(shù)據(jù)備份。
注意:RDB 和 AOF 持久化方法各有優(yōu)缺點。RDB 生成的快照文件較小,恢復(fù)速度較快,但可能丟失最近的更改。AOF 持久化記錄了所有寫操作命令,因此數(shù)據(jù)更加完整,但生成的文件較大,恢復(fù)速度較慢。在實際應(yīng)用中,可以根據(jù)需求選擇合適的持久化方法,甚至可以將兩者結(jié)合使用,以達(dá)到更好的數(shù)據(jù)保護(hù)效果。