redis中的持久化操作AOF与RDB区别

通过阅读Redis官网:

持久性:是指将数据写入持久存储,例如固态磁盘 (SSD)

包括:

  1. RDB(Redis数据库):RDB持久性按指定的时间间隔执行数据集的时间点快照
  2. AOF (仅追加文件):AOF持久性记录服务器收到的每个写入操作。然后可以在服务器启动时重建原始数据集。命令的记录格式与Redis协议本身相同
  3. RDB + AOF :顾名思义可以在同一个实例中组合AOF和RDB

RDB

优点:

  1. 可以设置时间间隔进行存档,快照保存30天,在发生灾难时还原数据集。
  2. RDB最大限度提高Redis性能,父进程会开启一个子进程去完成磁盘I/O操作

缺点:

  1. 如果redis服务器停止(停电),RDB模式由于是时间间隔拍摄快照,因此会丢失最后几分钟的数据
  2. 由于RDB性能提升是提高是提高fork() {fork()函数的解释:操作UNIX或类UNIX中的分叉函数,fork函数将运行着的程序分成2个(几乎)完全一样的进程,每个进程都启动一个从代码的同一位置开始执行的线程。} 如果数据集很大,则fork函数很耗时间,并且CPU性能不够,会导致Redis停止提供服务几毫秒甚至一秒。AOF也需要fork(),但频率低。可以调整重写日志的频率,减少开销。

AOF

优点:

  1. AOF是通过**(fsync函数文件数据同步到硬盘)**。fsync是使用后台线程执行的,当没有fsync正在进行时,主线程将执行写入,因此您只能丢失一秒钟的写入。
  2. AOF是仅追加日志,因此再短电时不会有寻道或损坏问题,redis-check-aof工具可以修复它
  3. 当Redis继续追加到旧文件时(AOF文件变得太大时会重写文件),会使用创建当前数据集所需的最少操作集生成一个全新的文件,一旦第二个文件准备就绪,Redis就会切换两者并开始追加到新文件。
  4. 只要没有重写AOF日志文件,就能重新启动Redis保存数据集

缺点:

  1. AOF文件文件大小大于同一数据集等效RDB文件
  2. AOF可能比RDB慢,我自己觉得应该和RDB的fork函数创建子进程有关有关。

总结:RDB速度上和资源的利用上具有优势,但在安全性上AOF更加稳妥。

以上来自redis官网瑞迪斯持久性 |雷迪斯 (redis.io),还有自己的一点小理解(理解有误希望您能纠正)。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
RDBRedis Database)和AOF(Append-Only File)是Redis两种常见的持久方式,它们有以下区别: 1. RDB持久RDB是将Redis数据库在某个时间点的数据快照保存到硬盘上的一种方式。它通过fork一个子进程来完成持久操作,首先将数据写入一个临时文件,然后用这个临时文件替换上一个RDB文件,从而实现数据的持久RDB方式适合用于备份、灾难恢复和数据库迁移等场景。 2. AOF持久AOF是通过将Redis的写命令追加到文件的末尾来记录数据库的操作Redis重启时,通过重新执行AOF文件的命令来恢复数据库状态。相比于RDB方式,AOF可以提供更高的数据安全性,因为它记录了每个写操作的历史,可以保证在Redis异常退出或宕机时不会丢失数据。AOF方式适合用于数据持久和实时备份等场景。 3. RDB的优点:RDB方式对于数据恢复速度较快,在大规模数据恢复时比AOF更高效。由于RDB是一个紧凑的二进制文件,相对于AOF文件来说更小,可以节省存储空间。此外,RDB方式对Redis的性能影响较小。 4. AOF的优点:AOF方式可以提供更高的数据安全性,因为它记录了每个写操作的历史,可以保证在Redis异常退出或宕机时不会丢失数据。AOF文件是一个文本文件,易于理解和修改。 总结来说,RDB方式适合于备份和灾难恢复,而AOF方式适合于数据持久和实时备份。在选择持久方式时,需要根据实际需求进行权衡和选择。另外,也可以同时使用RDBAOF两种方式,以提供更好的数据安全性和灾难恢复能力。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值