Redis的数据持久化
介绍 Redis 的数据持久化方案
Redis 的数据持久化主要有两大机制,AOF 日志和 RDB 快照。
- AOF 持久化是通过保存 Redis 服务器所执行的写命令来记录数据库状态。
- RDB 持久化是通过保存数据库中的键值对来记录数据库状态。
根据服务器是否启用了 AOF 持久化功能, 服务器载入数据时所使用的目标文件会有所不同:
- 如果服务器启用了 AOF 持久化功能, 那么服务器使用 AOF 文件来还原数据库状态。
- 如果服务器没有启用 AOF 持久化功能,那么服务器使用 RDB 文件来还原数据库状态。
AOF 和 RDB 的优劣局限
AOF 日志相比 RDB 快照的优势:
- AOF 对系统的性能影响更小:AOF 只是追加日志文件,而 RDB 是对所以键值对的快照,因此一次 AOF 操作比 RDB 对系统的性能影响更小,速度比 RDB 要快,消耗的内存较少。
AOF 日志相比 RDB 快照的劣势:
- AOF 载入文件的速度更慢:AOF 保存写命令,而 RDB 保存保存键值对来记录数据库状态,因此载入 AOF 文件的速度比载入 RDB 文件的速度更慢。
- AOF 文件的体积更大:保存相同的数据库状态,AOF 文件比 RDB 文件的体积更大。
AOF 和 RDB 混合持久化
在 Redis4.0 后支持混合持久化方式,如果使用混合持久化:
- 当服务器执行写命令后,Redis 会以 AOF 持久化方式将命令写回 incr.aof 文件。
- 当进行 AOF 文件重写时,Redis 会以 RDB 持久化方式将当前数据库状态保存到名为 base.aof 文件,然后再将 AOF 重写缓冲区中的所有内容写入 incr.aof 文件。
- 当 Redis 服务器重启后,将载入 base.aof 和 incre.aof 文件以还原数据库状态。
本文来自博客园,作者:真正的飞鱼,转载请注明原文链接:https://www.cnblogs.com/feiyu2/p/16993980.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)