Redis 提供了兩種主要的持久化方式:RDB(快照)和 AOF(追加文件)。你可以使用這些方法來備份和恢復(fù) Redis 數(shù)據(jù)庫。
RDB 是 Redis 默認(rèn)的持久化方式。它會(huì)在指定的時(shí)間間隔內(nèi)生成數(shù)據(jù)集的時(shí)間點(diǎn)快照(Snapshot)。這些快照文件可以用于備份、災(zāi)難恢復(fù)等場景。
備份(創(chuàng)建 RDB 文件):
SAVE
或 BGSAVE
命令手動(dòng)創(chuàng)建 RDB 文件。例如:SAVE
或 BGSAVE
。redis.conf
配置文件中設(shè)置:save 900 1
save 300 10
save 60 10000
這些配置表示在 900 秒內(nèi)有 1 個(gè)鍵值變更、300 秒內(nèi)有 10 個(gè)鍵值變更或 60 秒內(nèi)有 10000 個(gè)鍵值變更時(shí),Redis 會(huì)自動(dòng)創(chuàng)建 RDB 文件。恢復(fù)(使用 RDB 文件):
AOF 持久化記錄了 Redis 服務(wù)器接收到的所有寫操作命令。在 Redis 服務(wù)器重啟時(shí),可以通過重新執(zhí)行這些命令來恢復(fù)數(shù)據(jù)。
備份(創(chuàng)建 AOF 文件):
BGREWRITEAOF
命令手動(dòng)創(chuàng)建 AOF 文件。例如:BGREWRITEAOF
。redis.conf
配置文件中設(shè)置:appendonly yes
appendfilename "appendonly.aof"
這表示 Redis 會(huì)將寫操作命令追加到 appendonly.aof
文件中。恢復(fù)(使用 AOF 文件):
redis-cli
命令行工具手動(dòng)執(zhí)行 AOF 文件中的命令來恢復(fù)數(shù)據(jù):redis-cli bgrewriteaof
注意:在恢復(fù)數(shù)據(jù)之前,請確保已停止 Redis 服務(wù)器。