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

Redis的数据持久化

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

RDB

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

优点

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

缺点

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

AOP

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

优点

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

缺点

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

相关推荐
TDengine (老段)1 小时前
TDengine 时间函数 WEEK 用户手册
大数据·数据库·物联网·时序数据库·iot·tdengine·涛思数据
还是鼠鼠1 小时前
Redisson实现的分布式锁能解决主从一致性的问题吗?
java·数据库·redis·分布式·缓存·面试·redisson
DingYuan1012 小时前
MySql分类
数据库·mysql
w***74172 小时前
spring session、spring security和redis整合的简单使用
redis·spring·bootstrap
爬山算法2 小时前
Redis(153)Redis的网络使用如何监控?
网络·redis·bootstrap
杨云龙UP2 小时前
SQL Server 备份异地同步 + 清理脚本
运维·服务器·数据库·sql·mysql·sqlserver
O***Z6162 小时前
Redis——Windows安装
数据库·windows·redis
2301_795167202 小时前
Python 高手编程系列八:缓存
开发语言·python·缓存
0***h9422 小时前
MySQL 启动失败 (code=exited, status=1FAILURE) 异常解决方案
数据库·mysql