Redis篇之持久化数据恢复

Redis 提供了两种主要的持久化机制:RDB(Redis 数据库快照)和 AOF(附加文件)。

这两种机制各有特点和用途。

下面是如何使用 RDB 和 AOF 恢复 Redis 数据的步骤。

1、RDB(Redis 数据库快照)

RDB 是 Redis 的一种持久化机制,通过周期性地将数据库的状态快照保存在磁盘上的 RDB 文件中进行备份。RDB 文件通常是以 .rdb 结尾的文件。

恢复数据

找到 RDB 文件

确保你有一个有效的 RDB 文件。

如果你没有 RDB 文件,可以从 Redis 数据目录(通常是 /var/lib/redis 或其他配置目录)中找到 dump.rdb 文件。

step1:准备 Redis 服务器

停止当前运行的 Redis 实例(如果有):

复制代码
sudo systemctl stop redis
或者:
redis-cli shutdown

step2:复制 RDB 文件

将 dump.rdb 文件复制到 Redis 数据目录:

复制代码
cp /path/to/your/dump.rdb /var/lib/redis/dump.rdb

确保文件权限和所有者正确,以便 Redis 进程可以读取它。

step3:启动 Redis 服务器

启动 Redis 实例:

复制代码
sudo systemctl start redis
或者:
redis-server /path/to/redis.conf

Redis 会自动加载 dump.rdb 文件中的数据,并恢复到数据库中。

2、AOF(附加文件)

AOF 是 Redis 的另一种持久化机制,它通过将每次写操作追加到 AOF 文件中来实现持久化。AOF 文件通常是以 .aof 结尾的文件。

恢复数据

找到 AOF 文件

确保你有一个有效的 AOF 文件。

如果你没有 AOF 文件,可以从 Redis 数据目录中找到 appendonly.aof 文件。

step1:准备 Redis 服务器

停止当前运行的 Redis 实例(如果有):

复制代码
sudo systemctl stop redis
或者:
redis-cli shutdown

step2:复制 AOF 文件

将 appendonly.aof 文件复制到 Redis 数据目录:

复制代码
cp /path/to/your/appendonly.aof /var/lib/redis/appendonly.aof

确保文件权限和所有者正确,以便 Redis 进程可以读取它。

step3:启动 Redis 服务器

启动 Redis 实例:

复制代码
sudo systemctl start redis
或者:
redis-server /path/to/redis.conf

Redis 会自动加载 appendonly.aof 文件中的数据,并恢复到数据库中。

3. 混合使用 RDB 和 AOF

如果 Redis 配置同时启用了 RDB 和 AOF,Redis 会优先使用 AOF 文件来恢复数据,因为 AOF 文件包含了更详细的写操作日志,更能确保数据的完整性和一致性。如果 AOF 文件不可用,Redis 会回退到使用 RDB 文件进行恢复。

确保配置正确

检查 Redis 配置文件(redis.conf)中的持久化设置,确认你是否同时启用了 RDB 和 AOF:
RDB配置

复制代码
save 900 1
save 300 10
save 60 10000

AOF 配置

复制代码
appendonly yes
appendfsync everysec

参数说明:

save:用于配置 RDB 快照的生成规则。

appendonly yes:启用 AOF 持久化。

appendfsync everysec:配置 AOF 文件的同步策略。

总结

  • RDB:通过将数据库快照保存为 dump.rdb 文件来进行恢复。停止 Redis,替换 RDB 文件,然后重新启动 Redis。
  • AOF:通过将每次写操作追加到 appendonly.aof 文件来进行恢复。停止 Redis,替换 AOF 文件,然后重新启动 Redis。
    无论是使用 RDB 还是 AOF,都需要确保 Redis 实例在恢复过程中处于停止状态,以避免数据不一致。
相关推荐
光羽隹衡11 分钟前
SQL中表删除与表修改
数据库·sql
l1t16 分钟前
苏旭晖先生写的纯SQL求解Advent of Code 2025第9题 最大矩形面积 第2部分
数据库·sql·算法·计算几何·duckdb·advent of code
是垚不是土27 分钟前
基于Blackbox Exporter的网络服务黑盒监控体系实践
网络·数据库·安全·http·微服务·prometheus
青w韵29 分钟前
Claude 高级工具使用解析:从上下文优化到程序化调用的工程实践
数据库·windows
Hello.Reader37 分钟前
Flink SQL DROP 语句安全删除 Catalog / Table / DB / View / Function / Model
数据库·sql·flink
luluoluoa41 分钟前
科研业绩SCI、EI、会议、CSCD、CSSCI、中文核心、普刊介绍
数据库
liuzhilongDBA43 分钟前
论文精读|DBAIOps
数据库·postgresql·dbaiops
木风小助理1 小时前
MySQL 存储过程与函数:核心辨析与应用指南
服务器·数据库·microsoft
普通网友1 小时前
更优雅的测试:Pytest框架入门
jvm·数据库·python