1. 配置文件位置

Redis 的 RDB 配置通常在 redis.conf 文件中,路径可能是:

  • /etc/redis/redis.conf
  • 或 Redis 安装目录下的 redis.conf

2. 核心 RDB 配置参数

redis.conf 中找到以下配置项并修改:

(1) 触发 RDB 快照的条件(save

save 900 1      # 900秒(15分钟)内至少有1个键被修改,触发快照
save 300 10     # 300秒(5分钟)内至少有10个键被修改,触发快照
save 60 10000   # 60秒(1分钟)内至少有10000个键被修改,触发快照
  • 默认配置:以上三个 save 条件是 Redis 的默认设置。
  • 禁用 RDB:如果删除所有 save 行,则完全禁用 RDB 快照。

(2) 是否启用压缩(rdbcompression

rdbcompression yes  # 启用压缩(默认),减少 RDB 文件体积
  • 压缩会消耗 CPU 资源,但节省磁盘空间。

(3) 是否启用校验(rdbchecksum

rdbchecksum yes  # 启用 CRC64 校验(默认),确保备份文件完整性
  • 启用后会增加 10% 的性能开销,但更安全。

(4) RDB 文件名(dbfilename

dbfilename dump.rdb  # 默认文件名,可自定义

(5) RDB 文件存储路径(dir

dir /var/lib/redis  # 默认路径,需确保 Redis 有写入权限
  • 修改后需确保目录存在且 Redis 用户有读写权限。

(6) 是否在启动时加载 RDB 文件(dir

# Redis 默认会自动加载 RDB 文件,无需额外配置

3. 配置步骤

  1. 编辑 redis.conf 文件
    使用文本编辑器打开配置文件:

    sudo nano /etc/redis/redis.conf
    
  2. 修改 RDB 相关参数
    根据需求调整 savedbfilenamedir 等参数。

  3. 保存并重启 Redis 服务

    sudo systemctl restart redis
    

4. 验证 RDB 配置是否生效

  • 手动触发 RDB 快照
    使用 BGSAVE 命令(推荐)或 SAVE 命令生成快照:
    redis-cli
    127.0.0.1:6379> BGSAVE  # 后台异步保存,不阻塞主线程
    
  • 检查 RDB 文件
    查看指定目录下是否生成了 dump.rdb 文件:
    ls -l /var/lib/redis/dump.rdb
    

5. 生产环境推荐配置

save 60 10000      # 每分钟至少1万个键修改时触发快照
save 300 10
save 900 1
rdbcompression yes
rdbchecksum yes
dbfilename redis.rdb
dir /data/redis/
  • 路径建议:将 RDB 文件存储到独立磁盘分区,避免磁盘满导致问题。
  • 监控:定期检查 RDB 文件大小和生成时间,确保备份正常。

6. 注意事项

  • 性能影响SAVE 命令会阻塞 Redis 主线程,生产环境应使用 BGSAVE
  • 备份策略:建议结合 AOF 持久化(appendonly yes)提供更高数据安全性。
  • 恢复数据:将 RDB 文件复制到配置的 dir 路径下,重启 Redis 即可自动加载。

7. 常见问题

  • Q:为什么没有生成 RDB 文件?
    A:检查 save 条件是否满足,或手动执行 BGSAVE;确认 dir 路径权限是否正确。

  • Q:RDB 文件损坏怎么办?
    A:使用 redis-check-dump 工具修复(Redis 6.0+ 已弃用,建议用 AOF 恢复)。

  • Q:如何禁用 RDB?
    A:删除所有 save 行,或设置 save ""