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

Redis的数据持久化

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

RDB

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

优点

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

缺点

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

AOP

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

优点

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

缺点

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

相关推荐
时序数据说1 分钟前
时序数据库:定义与基本特点
大数据·数据库·物联网·时序数据库
蒋星熠37 分钟前
中间件架构设计与实践:构建高性能分布式系统的核心基石
开发语言·数据库·分布式·python·中间件·性能优化·硬件工程
Agatha方艺璇42 分钟前
CentOS7 Hive2.3.8 安装图文教程
大数据·数据库
EndingCoder1 小时前
离线应用开发:Service Worker 与缓存
前端·javascript·缓存·性能优化·electron·前端框架
悟乙己1 小时前
PySpark 与 Pandas 的较量:Databricks 中 SQL Server 到 Snowflake 的数据迁移之旅
数据库·pandas·pyspark
Menior_4 小时前
【MySQL】基本查询
数据库·mysql
一只游鱼5 小时前
Redis入门(部署、持久化、缓存问题)
数据库·redis·缓存
@小匠5 小时前
Spring Cache 多租户缓存隔离解决方案实践
java·spring·缓存
北城以北88886 小时前
数据库--MySQL数据管理
数据库·mysql