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

JAVA面试总结-Redis篇章(五)——持久化

Java面试总结-Redis篇章(五)——持久化

  • 1.RDB
    • RDB全称Redis Database Backup file (Redis数据备份文件),也被叫做Redis数据快照。简单来说就是把内存中的所有数据都记录到磁盘中。当Redis实例故障重启后,从磁盘读取快照文件,恢复数据
  • RDB的执行原理
        • 在Linux系统中,所有的进程都不能直接操作物理内存,由操作系统给每个进程分配一个虚拟内存,虚拟内存和物理内存之间的映射关系表称为页表,进程通过操作页表来查找物理内存。
        • 子进程通过拷贝页表,把映射关系拷贝给子进程,从而可以操作(读取)相同区域的物理内存,读取到数据之后,更新RDB文件,替换久的RDB文件,写入磁盘。
        • 子进程在写入磁盘的时候,主进程也可能会进行写操作,这时候会出现脏数据,怎么解决这个问题呢,Fork底层采用Copy-on-write技术,这时候主进程会把数据完整的拷贝一份出来,当新的数据写入之后,读操作也会去读取最新的数据,页表也会指向新的物理内存。
  • 2.AOF
      • AOF全称为Append Only File (追加文件)。Redis处理的每一个写命令都会记录在AOF文件,可以看做是命令日志文件。

在这里插入图片描述

1.RDB

RDB全称Redis Database Backup file (Redis数据备份文件),也被叫做Redis数据快照。简单来说就是把内存中的所有数据都记录到磁盘中。当Redis实例故障重启后,从磁盘读取快照文件,恢复数据

在这里插入图片描述

RDB的执行原理

在这里插入图片描述

在Linux系统中,所有的进程都不能直接操作物理内存,由操作系统给每个进程分配一个虚拟内存,虚拟内存和物理内存之间的映射关系表称为页表,进程通过操作页表来查找物理内存。

子进程通过拷贝页表,把映射关系拷贝给子进程,从而可以操作(读取)相同区域的物理内存,读取到数据之后,更新RDB文件,替换久的RDB文件,写入磁盘。

在这里插入图片描述

子进程在写入磁盘的时候,主进程也可能会进行写操作,这时候会出现脏数据,怎么解决这个问题呢,Fork底层采用Copy-on-write技术,这时候主进程会把数据完整的拷贝一份出来,当新的数据写入之后,读操作也会去读取最新的数据,页表也会指向新的物理内存。

2.AOF

AOF全称为Append Only File (追加文件)。Redis处理的每一个写命令都会记录在AOF文件,可以看做是命令日志文件。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

http://www.lryc.cn/news/99015.html

相关文章:

  • 【数据结构】·顺序表函数实现·赶紧学起来呀
  • C++,类和对象-多态,制作饮品
  • 网站分析:学习如何分析目标网站的页面结构和URL规律,确定爬取目标和策略。
  • 《向量数据库指南》:向量数据库Pinecone如何集成数据湖
  • Vue3中使用pinia
  • Mysql中(@i:=@i+1)的介绍
  • Nexperia和KYOCERA AVX Components Salzburg 就车规氮化镓功率模块达成合作
  • 数据库应用:Redis安装部署
  • 7.Docker-compose
  • 多线程:管程法
  • 7.1 String StringBuffer 和 StringBuilder 的区别是什么? String 为什么是不可变的?
  • 【C++STL标准库】容器适配器
  • 2023深圳杯(东三省)数学建模ABC题思路及代码
  • Set集合类详解(附加思维导图)
  • 【vue3】vue3接收props以及emit的用法
  • 【Lua学习笔记】Lua入门
  • LLM Data Pipelines: 解析大语言模型训练数据集处理的复杂流程
  • 如何使用postman判断返回结果是否正确
  • A General framework for Prompt
  • 使用python将PDF转word
  • CMU 15-445 -- Logging Schemes - 17
  • 逻辑回归分析实战(根据鸢尾花的性质预测鸢尾花类别)
  • 【每日一题】2050. 并行课程 III
  • 【kubernetes系列】kubernetes之使用kubeadm搭建高可用集群
  • SpringBoot 快速实现 IP 地址解析
  • 【云原生】Docker镜像的创建,Dockerfile
  • 了解Unity编辑器之组件篇Event(七)
  • bash: 睡觉的冒号;是不是两个点?
  • 揭秘爱数AnyShare认知助手:大模型深度产品化,深化人与机器的“分工协作”
  • ad+硬件每日学习十个知识点(10)23.7.21