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

Redis的数据持久化

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

RDB

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

优点

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

缺点

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

AOP

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

优点

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

缺点

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

相关推荐
是娇娇公主~2 小时前
工厂模式详细讲解
数据库·c++
码农小卡拉3 小时前
数据库:主键 VS 唯一索引 区别详解
java·数据库·sql
廋到被风吹走3 小时前
【数据库】【MySQL】锁机制深度解析:从原理到死锁分析实战
数据库·mysql
海棠AI实验室3 小时前
第 3 篇:方案写作——SOW / 里程碑 / 验收标准 / 风险假设的标准模板
数据库·python
阿坤带你走近大数据3 小时前
ORACLE里length和lengthb函数的异同点分别是
数据库·oracle
航Hang*4 小时前
第3章:复习篇——第1节:创建和管理数据库---题库
数据库·笔记·sql·学习·期末·复习
机器视觉知识推荐、就业指导4 小时前
Qt 小技巧:如何用 Q_PROPERTY 管理属性
服务器·数据库·qt
R-sz4 小时前
如何将json行政区划导入数据库,中国行政区域数据(省市区县镇乡村五级联动)
java·数据库·json
闲人不梦卿4 小时前
数据库安全和事务以及sql
数据库·sql
@22065 小时前
银河麒麟系统离线环境下用docke方式部署(Postgres、Nginx、Redis、JDK)
运维·数据库·redis·nginx