Redis的持久化(八股)

持久化

从文件类型,文件恢复速度,安全性会进行区分。本质区别是RDB使用快照进行持久化,AOF是日志。

  • 文件类型:RDB生成的是二进制文件(快照),AOF生成的是文本文件(追加日志)
  • 安全性:缓存宕机的时候,RDB容易丢失较多的数据,AOF根据策略决定(默认的可以保证最多有一秒的丢失)
  • 文件恢复速度:由于RDB是二进制文件,所有恢复速度比AOF快。
  • 操作的开销:每一次RDB保存都是一次全量的保存,操作比较重,通常设置至少五分钟保存一次数据。而 AOF的刷盘是一次追加的操作,操作比较轻,通常设置策略为每一秒进行一次刷盘。

AOF的混合持久化方案:

  • AOF混合持久化方案会使用RDB持久化函数,将内存数据写入到新的AOF文件中(数据格式也是RDB格式)
  • 而重写期间新的写入命令追加到新的AOF文件仍然是AOF格式
  • 此时新的AOF文件就是由RDB格式和AOF格式组成的日志文件。

AOF的重写流程:

  • 子进程读取Redis DB中的数据以字符串命令的格式(也可以看作AOF文件格式)写入到AOF文件中
  • 如果有新数据,由主进程将数据写入到AOF重写缓冲区
  • 当子进程完成重写操作后,主进程通过管道将AOF重写缓冲区中的数据传输给子进程,然后子进程追击到AOF文件中。
相关推荐
用户30745969820717 小时前
Redis 延时队列详解
redis
GBASE17 小时前
G术时刻 |GBase 8s数据库事务并发控制之封锁技术介绍(下)
数据库
烤代码的吐司君19 小时前
Redis 数据结构 ZSet, BIT, HyperLogLog,Geo 空间数据
redis·后端
xiezhr1 天前
逛GitHub发现了一款免费的带AI功能的数据库管理工具
数据库·ai编程·dba
吃糖的小孩2 天前
给 QQ AI 机器人设计“可控记忆”:会话摘要、手动长期记忆与角色卡边界
数据库
笃行3503 天前
金仓数据库数据安全双防线:静态存储加密与传输加密实战
数据库
笃行3503 天前
金仓数据库物理备份实战:sys_rman 全流程演练与误覆盖抢救
数据库
笃行3503 天前
金仓数据库逻辑备份实战:从全库导出到 Schema 替换的完整闭环
数据库
leeyi3 天前
Checkpoint 机制:Agent 怎么在断电后接着跑
redis·aigc·agent