Redis持久化之RDB

卑微小吴励志写博客第26天。

持久化简介

什么是持久化?
简单的讲就是数据从内存持久化到硬盘,防止断电或者突发情况下数据丢失。
持久化保存什么?
一种是快照形式,保存数据本身;另一种是保存数据的操作过程,关注点在与数据的操作过程。
在这里插入图片描述

RDB

RDB启动方式

谁?什么时间?干什么事?
命令执行: save

  • 谁:redis操作者(用户)
  • 什么时间:即时(随时进行)
  • 干什么:保存数据

作用:手动保存一次保存操作,快照信息。
一般生成的是名字为dump.rdb文件。

save相关配置,在配置文件中修改

在这里插入图片描述

注意:redis是单线程的,所以在执行save指令的时候,如果执行时间很长,那么直到当前RDB过程执行完,才能执行下面的命令,有可能会造成长时间的阻塞,线上不建议使用。

怎样处理?

后台执行
指令:bgsave。
作用:手动启动命令后,后台保存操作,但不会立即执行。

bgsave指令工作原理

在这里插入图片描述

注意:bgsave命令是save命令的优化,可以解决save命令的阻塞问题。redis内部涉及到RDB的操作都用的是bgsave命令,save可以弃用了。
配置文件中有一个关于bgsave的配置:
在这里插入图片描述

问题?
前面的save和bgsave都是手动执行的,忘了怎么办?如果不知道数据是否变化了,何时保存?数据没有变化保存是没有意义的。

自动执行:

  • 谁:redis服务器发起指令(基于条件)
  • 什么时间:满足条件
  • 干什么:bgsave保存数据。

配置(而不是指令)
save second changes
作用:
满足限定时间内key的变化数量达到指令数量进行持久化。
参数:
second:监控时间范围
changes:监控key的变化数量

save配置原理

在这里插入图片描述

save和bgsave比较

在这里插入图片描述

RDB的优缺点

在这里插入图片描述

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值