【Redis】Redis持久化方式

Redis 中有两种持久化方式,分别为 RDBAOF

RDB

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

RDB有两种备份方式,一种是主动备份,一种是Redis 内部执行备份

主动备份

主动备份就需要我们手动执行命令。

Redis中有两个命令,一个是 save,一个是 bgsave,这两个命令又有些区别。
save 命令会使用主进程来执行 RDB ,阻塞其他所有命令;
bgsave 开启子进程执行 RDB,避免主进程命令受到影响。

注意:这里是进程而不是线程

Redis 内部执行备份

Redis内部执行备份,只需要我们修改配置即可

RDB执行原理

fork 采用技术需要知道,并且能够答出

面试题:RDB 做快照的时候数据能修改吗?
save 命令是同步的会阻塞客户端命令,bgsave 命令是可以修改的
面试题:Redis是怎么解决在bgsave做快照的时候允许数据修改?

结合上图,如果说主线程执行读数据,那么主线程和子线程互不影响。如果说主线程执行写操作,那么被修改的数据会复制一个副本,然后bgsave子进程会读这个副本,然后写入到RDB文件。这个过程,主进程是可以继续修改原来文件的

AOF

AOF 全称 Append Only File。Redis 处理的每一个写命令会记录在 AOF 文件中,可以看成命令记录文件。

AOF 默认是关闭的,我们可以通过配置打开。

AOF 重写功能:

参考链接

B站黑马Redis视频

相关推荐
残 风1 小时前
PostgreSQL 存储机制详解
数据库·postgresql·开源·数据库开发
swipe2 小时前
RabbitMQ 实战:AI Agent 里异步处理的标配方案(手把手 + 4 种交换机全解析)
后端·面试·langchain
JacksonMx2 小时前
Java CompletableFuture 异步编程实战:从入门到架构师避坑指南
linux·数据库·python
tachibana22 小时前
性能指标的口径选择
数据库·人工智能·架构·大模型·llm
风流 少年2 小时前
Spring AI 2.0:阿里云百炼平台(智能体应用)
redis·spring·阿里云
肠畔码农2 小时前
深度解密 Redis 分布式锁:从单机原子语义到集群架构博弈
redis·分布式·架构
机器人梦想家3 小时前
具身机器人视觉服务的异步回调与并发控制
数据库·算法·机器人
小妖同学学AI3 小时前
开源向量数据库的王者:Milvus 深度解析,专为 AI 应用打造的云原生搜索引擎!
数据库·开源·milvus
l1258654 小时前
# RAG上线评估指标体系:六大核心指标与压测实战全解析
数据库·人工智能·python·mysql·langchain·milvus
宠友信息4 小时前
IM系统开发技术路线分析,即时通讯源码助力快速搭建聊天应用
java·spring boot·redis·websocket·mysql·uni-app·vue