Redis数据持久化

Redis数据持久化

概述

Redis和Memcache的一个重要区别就是Redis支持数据的持久化

RDB

rdb保存的文件是dump.rdb
在指定的时间间隔内将内存中的数据集快照写入磁盘,也就是Snapshot快照,它恢复时是将快照文件直接读到内存中。
Redis会单独创建(fork)一个子进程来进程持久化,会先将数据写入到一个临时文件中,待持久化过程都结束了,再用这个临时文件替换上一次持久化好的文件。整个过程中,主进程是不进行任何IO操作的,这就确保了极高的性能。如果需要进程大规模数据的恢复,且对数据恢复的完整性不是非常敏感,那RDB方式要比AOF方式更加的高效。RDB的缺点是最后一次持久化后的数据可能丢失。

触发机制

  • save的规则满足的情况下,会自动触发rdb操作
  • 执行flushall命令,会触发rdb操作
  • 退出出redis时,也会触发rdb操作

只需要将rdb文件放在redis的启动目录下就可以。redis启动时会自动检查dump.rdb文件恢复其中的数据
优点

  1. 适合大规模的数据恢复
  2. 对数据的完整性要求不高

缺点

  1. 需要一定的时间间隔进行操作,如果redis意外宕机,最后一次持久化后的操作数据就没有了
  2. fork进程的时候,会需要占用一定的内存空间

AOF

AOF保存的文件是appendonly.aof

将所有写操作的命令都记录下来,类似history,恢复时将所有的命令都执行一遍

优点

  1. 每一次修改都同步,文件的完整性比较好
  2. 每秒同步一次,可能会丢失1s的数据

缺点

  1. 相对于数据文件来说,aof远远大于rdb
  2. 修复的速度比rdb慢
  3. AOF的运行效率也比rdb慢。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值