【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视频

相关推荐
郭庆汝5 分钟前
Neo4j数据库中批量插入数据(数据在.csv文件中)
数据库·neo4j
占疏9 分钟前
流程图编辑
java·数据库·sql
程可爱11 分钟前
详解Redis的五种基本数据类型(String、List、Hash、Set、ZSet)
redis
济南java开发,求内推16 分钟前
redis升级至7.0.15版本
redis
while(1){yan}17 分钟前
HTTP的数据报格式
java·开发语言·网络·网络协议·http·青少年编程·面试
Baihai_IDP18 分钟前
对长上下文能力有不同要求,怎么选择合适的模型?
人工智能·面试·llm
Neolnfra20 分钟前
SMB、FTP、MySQL... 配置不当,即是漏洞
linux·数据库·mysql·安全·网络安全·系统安全·安全架构
雷神乐乐21 分钟前
Mysql数据泵导入导出数据
数据库·oracle
摇滚侠21 分钟前
Redis 零基础到进阶,Redis 持久化,RDB,AOF,RDB AOF 混合,笔记 28-46
数据库·redis·笔记
李慕婉学姐24 分钟前
基于微信小程序的运动会信息管理系统k6kqgy34(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
数据库·微信小程序·小程序