Redis 提供了 RDB 和 AOF 兩種持久化方式來保存數(shù)據(jù),當數(shù)據(jù)庫發(fā)生故障時,可以通過這兩種方式來恢復(fù)數(shù)據(jù)。
RDB 是 Redis 默認的持久化方式,它會在指定的時間間隔內(nèi)生成數(shù)據(jù)集的時間點快照(Snapshot)。這些快照文件可以用于備份、災(zāi)難恢復(fù)等場景。
恢復(fù)步驟如下:
/var/lib/redis/
。/usr/local/redis/data/
。redis.conf
),設(shè)置 dbfilename
參數(shù)指向剛剛復(fù)制的 RDB 文件,例如:dbfilename dump.rdb
。dir
參數(shù),指向 Redis 數(shù)據(jù)目錄,例如:dir /usr/local/redis/data/
。systemctl restart redis
命令(具體命令取決于你的操作系統(tǒng)和安裝方式)。AOF(Append Only File)持久化記錄了 Redis 服務(wù)器接收到的所有寫操作命令,當需要恢復(fù)數(shù)據(jù)時,可以通過重新執(zhí)行這些命令來恢復(fù)數(shù)據(jù)。
恢復(fù)步驟如下:
/var/lib/redis/
。/usr/local/redis/data/
。redis.conf
),設(shè)置 appendfilename
參數(shù)指向剛剛復(fù)制的 AOF 文件,例如:appendfilename appendonly.aof
。dir
參數(shù),指向 Redis 數(shù)據(jù)目錄,例如:dir /usr/local/redis/data/
。appendfsync
參數(shù),選擇合適的同步策略,例如:appendfsync everysec
(默認值)。systemctl restart redis
命令(具體命令取決于你的操作系統(tǒng)和安裝方式)。注意:在恢復(fù)數(shù)據(jù)之前,請確保 Redis 服務(wù)已關(guān)閉?;謴?fù)完成后,可以使用 redis-cli ping
命令來檢查 Redis 服務(wù)是否正常運行。