Redis AOF和RDB

本文探讨了Redis数据库的两种持久化方式RDB和AOF,比较了它们的数据安全性、性能优劣及适用场景,突出了RDB的轻量级持久化和AOF的高数据完整性特点。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

RDB


RDB:Redis DataBase
在指定时间间隔将内存中的数据集快照写入磁盘中(先将数据集写入临时文件,写入成功后,再替换之前的文件,用二进制压缩存储),实际操作是通过fork一个子进程

优点

  1. 整个Redis 只包含一个dump.rdb文件,方便持久化
  2. 容灾性好,方便备份
  3. 性能最大化,fork一个子线程来完成操作,让主线程继续处理命令,所以是IO最大化。保证Redis 的性能
  4. 相对于数据大的时候,比AOF的启动效率更高

缺点

  1. 数据安全性较低,因为RDB 是定时去持久化,如果持久化之间Redis发生故障,会导致,最新的数据丢失
  2. 由于RBD是通过fork子进程来协助完成数据持久化的,因此如果当数据集较大的时候,可能导致 服务器停止几百毫秒或者更长时间

AOF


AOF: Append Only File
以日志形式来记录服务器的写,删除操作,不会记录查询操作, 以文本的形式记录,可以打卡文件查看到详细的操作

优点

  1. 数据安全:AOF提供了是3种持久化策略,分别是:每秒同步(因为是异步持久化,所以会出现数据丢失的问题) ,实时同步(每次修改或写的时候同步,相对于每秒同步,效率相对较低,但是数据安全性高),不同步;
  2. 通过append 模式写文件,即使中途服务器宕机也不会破坏已经存在的内容,可以通过redis-check-aof 工具解决数据一致性的问题
  3. AOF 机制的rewrite 模式,定期对AOF 文件进行重写,已达到压缩的目的

缺点:

  1. AOF 文件比RBD 文件大,并且恢复的比较慢
  2. 数据集大的时候,比RDB 启动的效率低
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值