Redis 的两种持久化方式:RDB 和 AOF,一次讲懂

把数据写进 Redis 后,查询一切正常。

可服务器一重启,数据却没了。

原因很简单:Redis 的数据主要存储在内存中。

内存读写很快,但断电、关机或 Redis 重启后,里面的数据可能会丢失。

所以,Redis 需要把内存中的数据保存到磁盘。这个过程,就叫作持久化

Redis 常用的持久化方式有两种:RDB 和 AOF

一、RDB:定期给数据拍照

RDB 就像给 Redis 数据定期拍快照。

例如每小时持久化一次,在晚上 8 点保存了一次,8 点到 8 点 10 分写入的新数据还没保存,服务器就断电了。重启后只能恢复到 8 点,之后的数据会丢失。

因此,RDB 的特点是:

定期保存某一时刻的完整数据。

优点是文件较小、恢复较快;缺点是两次快照之间的数据可能丢失。

RDB 保存的是某一个时间点的数据状态。

二、AOF:把每次操作记下来

AOF 可以理解为一本操作账本。

Redis 每执行一次写操作,就把这次操作记录下来。

例如:

text 复制代码
设置 name = Redis
将 count 加 1
删除 user

Redis 重启后,会按照记录重新执行这些操作,从而恢复数据。

相比 RDB,AOF 通常能保留更多最新数据,但文件也可能更大。

AOF 记录的是数据发生过的变化。

三、RDB 和 AOF 有什么区别?

对比项 RDB AOF
通俗理解 定期拍照 持续记账
保存内容 某一时刻的数据 每次写操作
数据丢失 可能丢失两次快照之间的数据 通常丢失的数据更少
文件大小 通常较小 通常较大
恢复方式 加载数据快照 重新执行写操作

总结

Redis 使用持久化,是为了在重启后恢复数据。

RDB 像拍照,保存数据状态;AOF 像记账,记录数据变化。

相关推荐
庆登登登12 分钟前
MySQL Workbench 鸿蒙 PC 适配全记录:从 GTK_X11 桌面程序到 ArkUI 原生数据库工作台
数据库·mysql·harmonyos
2601_9632827716 分钟前
政企无线对讲系统落地:从设备采购到长期运维的完整工程实践
大数据·运维·数据库
熊文豪16 分钟前
OceanBaseVS金仓:一条 SQL 的两条路——KingbaseES 的性能竞争力从哪来
数据库·sql·电科金仓
大模型码小白25 分钟前
数据可视化:AI 生成 HTML5 动态交互式数据图表
前端·数据库·人工智能·深度学习·机器学习·信息可视化·html5
风哥2号26 分钟前
数据库教程FGMT26‑1‑GoldenGate数据库容灾迁移01(OGG同构异构、数据库迁移、数据同步、容灾复制)
数据库·oracle
颜颜yan_39 分钟前
Firebird 鸿蒙 PC 适配全记录:打通数据库内核、Qt 管理端与原生维护工具
数据库·qt·harmonyos
风哥2号39 分钟前
数据库教程FGMT25‑Oracle多租户架构CDB与PDB运维管理
数据库·oracle
程序猿乐锅43 分钟前
【黑马点评 | 第一篇】从 Session 到 Redis+Token 的改造与拦截器实现
数据库·redis·缓存
南京兴帝文化传媒有限公司1 小时前
基于地图平台的本地商户信息优化:药店夜间服务标注与客户转化实操
前端·javascript·数据库·人工智能·geo 优化·geo优化避坑·ai搜索获客
u0109053591 小时前
NAS远程访问内网穿透方案之使用神卓N600实现不限速方法
服务器·网络·数据库