redis中RDB和AOF有什么区别?

1.什么是RDB:

RDB:是把当前进程数据生成快照保存到硬盘的过程,触发RDB持久化过程分为手动触发和自动触发。

2.什么是AOF:

AOF:是以独立日志的方式记录每次写命令,重启时再重新执行AOF文件中命令达到恢复数据的目的。AOF的主要作用是解决了数据持久化的实时性,目前已经是Redis持久化的主流方式。

3二者有什么区别:

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


AOF:是以日志的形式记录服务器所处理的每一个写、删除操作,查询操作不会记录,以文本的方式记录,可以打开文件看到详细的操作记录。

4.RDB的优点:

RDB是一个紧凑压缩的二进制文件,代表Redis在某一个时间点上的数据快照。
非常适合用于备份,全量复制等场景。比如每6小时执行bgsave备份,并把
RDB文件拷贝到远程机器或者文件系统中(如hdfs),用于灾难恢复。
Redis加载RDB恢复数据远远快于AOF方式。

5.RDB的缺点:

RDB方式数据没办法做到实时持久化/秒级持久化。
因为bgsave每次运行都要执行fork操作创建子进程,属于重量级操作,频繁执行成本过高。
RDB文件使用特定二进制格式保存,Redis版本演进过程中有多个格式的RDB,
存在老版本Redis服务无法兼容新版RDB格式的问题。

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
RedisRDBAOF是两种持久化机制,用于将内存的数据持久化到磁盘上,以便在Redis重启时恢复数据。 RDBRedis Database)是Redis的默认持久化方式,它使用快照的形式将数据保存到硬盘上。当满足一定条件时,Redis会自动执行快照操作,将内存的数据保存到RDB文件RDB文件是一个二进制文件,包含了Redis在某个时间点上的所有数据。RDB具有紧凑和高效的特点,在恢复大数据集时速度较快。但是,RDB只能定期保存数据,并且在发生故障时可能会导致一定量的数据丢失。 AOF(Append-Only File)则是一种追加写日志的方式来实现持久化。每当有新的写操作发生时,Redis会将该操作追加到AOF文件的末尾。当Redis重启时,通过重新执行AOF文件的所有写操作来恢复数据。相比于RDBAOF具有更好的持久性,因为它可以记录每个写操作,避免了数据丢失。然而,AOF文件相对于RDB文件会更大,并且在恢复大数据集时,由于需要重新执行大量的写操作,恢复速度可能较慢。为了避免AOF文件过大,Redis提供了自动压缩和重写AOF文件的机制。 在选择RDBAOF之间的持久化方式时,需要根据实际需求来进行权衡。如果对数据的完整性要求较高,可以选择AOF方式;如果对数据的恢复速度和文件大小有较高的要求,则可以选择RDB方式。另外,也可以同时启用RDBAOF,以提高数据的安全性和灾难恢复能力。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值