温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

redis怎样实现持久化

发布时间:2026-10-18 09:11:13 来源:亿速云 阅读:92 作者:小樊 栏目:关系型数据库

Redis 主要通过 RDB 和 AOF 两种方式实现持久化,也可以两者结合使用。


一、RDB(Redis Database,快照持久化)

原理

在指定时间点,将内存中的数据以二进制快照形式写入磁盘(默认文件:dump.rdb)。

触发方式

  1. 自动触发(配置文件)
save 900 1      # 900秒内至少1次修改
save 300 10     # 300秒内至少10次修改
save 60 10000   # 60秒内至少10000次修改
  1. 手动触发
SAVE      # 阻塞式,不推荐
BGSAVE    # 后台异步保存

优点

  • 文件紧凑,适合备份、灾难恢复
  • 恢复速度快
  • 对性能影响小(BGSAVE 使用子进程)

缺点

  • 可能丢失最后一次快照之后的数据
  • 数据量大时,fork 可能阻塞

二、AOF(Append Only File,日志持久化)

原理

将每一次写命令追加到日志文件中(默认:appendonly.aof)。

配置

appendonly yes
appendfsync everysec   # 每秒刷盘(推荐)

appendfsync 可选值:

  • always:每次写都刷盘(最安全,最慢)
  • everysec:每秒刷盘(推荐)
  • no:由操作系统决定

AOF 重写

AOF 文件会变大,Redis 会重写压缩:

BGREWRITEAOF

或自动触发:

auto-aof-rewrite-min-size 64mb
auto-aof-rewrite-percentage 100

优点

  • 数据安全性高(最多丢 1 秒)
  • 可读、可修复

缺点

  • 文件较大
  • 恢复速度慢于 RDB

三、RDB + AOF 混合持久化(Redis 4.0+)

配置

aof-use-rdb-preamble yes

特点

  • AOF 文件前半部分是 RDB,后面是增量命令
  • 启动快 + 数据更安全

四、如何选择?

场景 推荐
缓存 RDB
重要数据 AOF / 混合
容灾备份 RDB
高可用 混合持久化

五、恢复流程简述

  1. 优先加载 AOF(若开启)
  2. 否则加载 RDB
  3. 数据恢复到内存

如果你需要,我也可以帮你:

  • 写一份 生产环境 Redis 持久化配置
  • 对比 Redis vs MySQL 持久化
  • 讲 主从 + 持久化的最佳实践
向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI
助
手