2026/3/3 12:01:39
网站建设
项目流程
云海建设工程有限公司网站,模块网站开发工具,怎么弄公众号,成都设计公司哪家好文章目录 1. 引言#xff1a;Redis 是内存数据库#xff0c;数据会丢吗#xff1f;2. RDB#xff1a;定期快照式持久化2.1 什么是 RDB2.2 RDB 的触发方式自动触发#xff08;配置#xff09;手动触发 2.3 RDB 的工作原理2.4 RDB 的优点2.5 RDB 的缺点 3. AOF#xff1a;…文章目录1. 引言Redis 是内存数据库数据会丢吗2. RDB定期快照式持久化2.1 什么是 RDB2.2 RDB 的触发方式自动触发配置手动触发2.3 RDB 的工作原理2.4 RDB 的优点2.5 RDB 的缺点3. AOF追加日志式持久化3.1 什么是 AOF3.2 AOF 的开启方式3.3 AOF 写入策略fsync3.4 AOF 重写Rewrite3.5 AOF 的优点3.6 AOF 的缺点4. RDB vs AOF核心对比5. 同时开启 RDB AOF6. 生产环境配置建议通用建议7. 一个常见误区8. 总结参考1. 引言Redis 是内存数据库数据会丢吗Redis 被称为“内存数据库”很多初学者都会有疑问Redis 重启后数据还在吗答案是取决于你是否开启了持久化以及使用哪种方式。Redis 提供了两种核心持久化机制RDBRedis DataBase快照AOFAppend Only File日志它们分别从性能和数据安全两个方向解决问题。2. RDB定期快照式持久化2.1 什么是 RDBRDB 的核心思想是在某一时刻把 Redis 内存中的数据完整地保存为一个快照文件。生成的文件通常是dump.rdb2.2 RDB 的触发方式RDB 可以通过多种方式触发自动触发配置save 900 1 save 300 10 save 60 10000含义900 秒内有 1 次写 → 生成快照300 秒内有 10 次写60 秒内有 10000 次写手动触发SAVE# 阻塞BGSAVE# 后台推荐2.3 RDB 的工作原理Redis 主进程fork子进程子进程将内存数据写入.rdb文件主进程继续处理请求COW 机制2.4 RDB 的优点文件紧凑体积小恢复速度快对 Redis 性能影响较小适合备份、迁移2.5 RDB 的缺点可能丢失最近一段时间的数据大数据量下 fork 有开销不适合高频数据变更场景3. AOF追加日志式持久化3.1 什么是 AOFAOF 的核心思想是把每一次写命令按顺序追加到日志文件中。文件通常是appendonly.aofAOF 持久化功能的实现可以简单分为 5 步命令追加append所有的写命令会追加到 AOF 缓冲区中。文件写入write将 AOF 缓冲区的数据写入到 AOF 文件中。注意此时并没有同步到磁盘。文件同步fsyncfont stylecolor:rgb(60, 60, 67);fsync/font将阻塞直到写入磁盘完成后返回保证了数据持久化。文件重写rewrite随着 AOF 文件越来越大需要定期对 AOF 文件进行重写达到压缩的目的。重启加载load当 Redis 重启时可以加载 AOF 文件进行数据恢复。3.2 AOF 的开启方式appendonly yes3.3 AOF 写入策略fsyncappendfsync always appendfsync everysec appendfsync no策略数据安全性能always最安全最慢everysec较安全推荐no风险高最快3.4 AOF 重写Rewrite随着时间推移AOF 会越来越大因此 Redis 提供AOF 重写机制用最少的命令重建当前数据状态。触发方式自动配置手动BGREWRITEAOF3.5 AOF 的优点数据安全性高丢失数据少可读性好文本命令3.6 AOF 的缺点文件体积大恢复速度慢写入频繁对磁盘依赖高4. RDB vs AOF核心对比维度RDBAOF持久化方式快照日志数据安全较低较高性能影响小较大文件体积小大恢复速度快慢适用场景备份高可靠5. 同时开启 RDB AOFRedis支持两者同时开启save ... appendonly yes启动时优先使用AOF 恢复数据RDB 作为备份手段这是生产环境的推荐方案。6. 生产环境配置建议通用建议AOF 使用everysec开启 RDB 作为兜底合理配置重写阈值auto-aof-rewrite-percentage 100 auto-aof-rewrite-min-size 64mb7. 一个常见误区AOF 一定比 RDB 安全。实际上appendfsync no风险很高任何机制都存在极端丢失场景8. 总结Redis 的持久化本质是性能与数据安全的权衡RDB快照快、轻但可能丢数据AOF日志安全但慢、占空间参考Redis持久化机制详解文中图片来自《Redis开发与运维》