Redis 缓存持久化基本原理

Redis RDB

RDB(Redis DataBase)持久化方案会在指定的时间点内将内存的数据集快照存入磁盘.当RDB开始工作时,Redis 服务会将自己分叉出一个持久化进程,持久化进程会将内存压缩并写入到磁盘里.

重要的一点就是,持久化进程和原服务进程共用的同一批虚拟内存页.

当有新的缓存Set操作,那么原服务中部分内存需要进行修改,这时候持久化服务进程没有到达指定的时间点不会进行缓存快照的更新.那么操作系统会将虚拟内存页进行一个写时复制,这样原服务进程数据就被更新而持久化服务进程的数据保持不变.

在这里插入图片描述
Redis RDB 优点
RDB 的优点在于它的数据文件中包含了一系列经过压缩的 Redis 数据时间点快照,适合备份和灾后恢复.

Redis RDB 缺点
RDB 的缺点在于系统死机时 RDB 写入磁盘的是上一个时间点的快照.导致上一个时间点到死机时的数据丢失.由于时间间隔大,所以数据的损失量也可能很大.

Redis AOF

Redis AOF方案则是将服务端接收到的所有写操作(包括Set和Del)记入磁盘上的日志文件,该文件的格式和 Redis 协议保持一致,并且只允许添加.这样服务器重启的时候Redis存放的内容可以根据 Redis 重新构建整个内存映像.

Redis AOF 优点
Redis AOF 的优点就是当系统出现死机时因为日志写入的频率较高所以有较少的数据丢失.

Redis AOF 缺点
因为 AOF 会保存初始状态到最终状态的所有内容,所以它会占用更多的磁盘空间.其次 AOF 的写入频率高,磁盘的IO占用时间长导致AOF会慢于RDB.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

图图是只猫

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值