当前位置: 首页 > article >正文

10 Redis的持久化

Redis支持RDB和AOF两种持久化机制

1、RDB(Redis DataBase)
  1. 是对命令的全量快照
  2. 随着key的数量增大,那么写入磁盘的开销也会越来越大
2、RDB文件的生成是否会阻塞主线程

save: 使用save的方式会阻塞主线程,影响redis的性能
bgsave: 一般情况下不会阻塞主线程,原因是会创建一个子进程,单独取创建一个RDB的dump文件,是默认配置
在这里插入图片描述
上图中的配置,后台使用的bgsave命令,save只是一个摆设。

3、bgsave为啥不阻塞主线程?

在这里插入图片描述
另外,shutdown也会开启save操作。
and, 从节点执行的全量复制操作,这个时候主节点自动执行bgsave,生成一个RDB文件发给从节点。从节点拿到文件开始全量复制。

4、快照的时候修改key的影响?
  1. 在进行bgsave的时候,是可以对key进行修改的。
  2. 在主线程fork一个子进程进行快照的时候,在bgsave命令执行后,如果对key进行修改,那么写时复制的值是旧值,那么从节点拿到的数据就是旧的数据,与主节点key不一致.
    RDB导致的数据丢失问题
    主线程在fork的时候,会导致阻塞.因此RDB的方式还是有很大的缺陷
5、AOF (append only file)
  1. 配置文件中开启aof
    在这里插入图片描述
    注意:读命令不会写入AOF。

  2. AOF的工作流程
    在这里插入图片描述


http://www.kler.cn/news/135826.html

相关文章:

  • c++ 获取当前时间(精确至秒、毫秒和微妙)
  • 【代码随想录】算法训练计划27
  • springboot引入redisson分布式锁及原理
  • 深度学习之基于YoloV5-Pose的人体姿态检测可视化系统
  • 产品经理进阶:外包原因及类型(一)
  • Java获取Jar、War包路径,并生成可编辑修改的本地配置文件
  • 05-networkX-结构洞计算
  • Halcon Solution Guide I basics(2): Image Acquisition(图像加载)
  • 2024年csdn最新最全的Postman接口测试: postman定义公共函数
  • 锐捷OSPF认证
  • Postman启动问题:Could not open Postman
  • BLE协议栈入门学习
  • DSP2335的按键输入key工程笔记
  • element表格头部加入图标
  • Vue中实现div的任意移动
  • 前端为什么要工程化
  • 计算矩阵边缘元素之和
  • 七天.NET 8操作SQLite入门到实战 - SQLite 简介
  • STM32电源名词解析
  • 持续集成部署-k8s-配置与存储-配置管理:ConfigMap 的热更新
  • 使用1688开放平台API接口获取商品详情信息
  • Java值传递和引用传递
  • VAD监测(一)
  • 最全HTTP/HTTPS面试题整理(二)
  • 【开源】基于JAVA的快递管理系统
  • Uniapp连接iBeacon设备——实现无线定位与互动体验(实现篇)
  • 基础组件-流量回放(全链路流量回放预研)
  • 论文-分布式-拜占庭将军问题
  • 免疫微环境、免疫细胞浸润分析、免疫功能分析
  • 解决在pycharm中使用matplotlib画图问题