Redis的数据持久化是怎么做的?

Redis的数据持久化

Redis 是一种高性能的内存数据库,为了防止因服务器重启、宕机等情况导致内存中数据丢失,提供了两种数据持久化方式:RDB 和 AOF 。

RDB

是Redis数据库的快照文件,用于在Redis实例宕机时恢复数据。

优点

恢复速度快 :因为 RDB 文件是对整个数据集的快照,恢复数据时直接将 RDB 文件读入内存即可
文件紧凑

缺点

数据安全性低 :由于是按时间间隔生成快照,如果在两次快照间隔期间 Redis 发生宕机,这段时间内的数据修改将会丢失。
生成快照时阻塞主线程

AOP

是Redis操作的追加文件,记录了所有的写命令,用于在Redis实例宕机时重新执行一遍命令来恢复数据。

优点

数据安全性高 :可以配置不同的刷盘策略,如 always(每个写命令都立即同步到磁盘 ),这样即使 Redis 宕机,最多只会丢失一个写命令的数据,数据完整性更好。
写入性能好:AOF 采用追加写的方式,写操作在文件尾部进行,不需要像 RDB 那样进行复杂的快照操作

缺点

文件体积大 :随着时间推移和写操作的不断增加,AOF 文件会越来越大,因为它记录了所有的写命令。
恢复速度慢:恢复数据时需要重放大量的写命令,相比 RDB 直接加载快照文件,AOF 在数据量较大时恢复时间会更长。

相关推荐
dddaidai12316 分钟前
Redis数据结构
数据结构·redis·hash table
不剪发的Tony老师22 分钟前
SQLPub:一个提供AI助手的免费MySQL数据库服务
数据库·mysql
躺着听Jay35 分钟前
QT设置MySQL驱动
数据库·qt
文静小土豆1 小时前
K8S redis 部署
redis·kubernetes·bootstrap
闪电麦坤951 小时前
SQL:MySQL函数:条件函数(Conditional Functions)
数据库·sql·mysql
恪心与java1 小时前
mysql
数据库·mysql·oracle
贵沫末2 小时前
docker-compose——安装redis
redis·docker·eureka
?abc!11 小时前
缓存(3):本地缓存作用 及 数据一致性 实现策略
缓存
欧先生^_^11 小时前
Linux内核可配置的参数
linux·服务器·数据库
问道飞鱼11 小时前
【数据库知识】Mysql进阶-高可用MHA(Master High Availability)方案
数据库·mysql·adb·高可用·mha