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 像记账,记录数据变化。

相关推荐
Elastic 中国社区官方博客2 小时前
将你自己的密钥用于现有 Elastic Cloud 部署
大数据·数据库·elasticsearch·全文检索
红海云2 小时前
Jev:给智能系统做判断的模型
大数据·数据库·人工智能
wjkjpcba2 小时前
PCBA烧录程序是什么:PCBA包工包料厂家解析烧录与测试
linux·数据库·人工智能·smt贴片加工·pcba贴片加工厂
꯭自꯭闭꯭3 小时前
达梦事物特性及MVCC
linux·运维·数据库
小马同学-3 小时前
MySQL主从复制和读写分离
数据库·mysql
谢亮_vipxieliang3 小时前
Spring 事务失效的常见场景
java·开发语言·数据库·spring boot
geovindu4 小时前
sql: JSON and XML Data Handling in SQL using sql server 2025
大数据·数据库·sqlserver·数据库开发·数据库架构
IT大白鼠4 小时前
图数据库系列 · 第 02 篇——架构拆解:原生图存储到因果集群
数据库·架构·nosql
hweiyu005 小时前
Redis命令:HTTL
redis·缓存
EatFan5 小时前
从“框架混战“到“运行时收敛“:2026 年 AI Agent 开发框架的三条路线之争
java·数据库·人工智能·多智能体·ai agent·mcp·agent 框架