当前位置:网站首页>Redis 持久化
Redis 持久化
2022-07-24 06:02:00 【熙攘。】
单点Redis存在很多问题,故需要持久化Redis:

一、RDB持久化
RDB全称Redis Database Backup file(Redis数据备份文件),也被叫做Redis数据快照。简单来说就是把内存中的所有数据都记录到磁盘中。当Redis实例故障重启后,从磁盘读取快照文件,恢复数据。快照文件称为RDB文件,默认是保存在当前运行目录。
执行时机、
1、save命令:

2、bgsave命令:

3、停机时:
Redis停机时会执行一次save命令,实现RDB持久化。
4、触发RDB条件:
Redis内部有触发RDB的机制,可以在redis.conf文件中找到,格式如下:

RDB的其它配置也可以在redis.conf文件中设置 :

原理、
bgsave开始时会fork主进程得到子进程,子进程共享主进程的内存数据。完成fork后读取内存数据并写入 RDB 文件。fork采用的是copy-on-write技术:

总结、

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

配置文件、
AOF默认是关闭的,需要修改redis.conf配置文件来开启AOF:

AOF的命令记录的频率也可以通过redis.conf文件来配:

三种记录频率方式的对比:

文件重写、
因为是记录命令,AOF文件会比RDB文件大的多。而且AOF会记录对同一个key的多次写操作,但只有最后一次写操作才有意义。通过执行bgrewriteaof命令,可以让AOF文件执行重写功能,用最少的命令达到相同效果。

Redis也会在触发阈值时自动去重写AOF文件。阈值也可以在redis.conf中配置:

三、RDB与AOF对比

边栏推荐
猜你喜欢

【学习笔记】Web页面渲染的流程

STM32外部中断(寄存器版本)

10分钟就能写出来的——25~30K的国外企业招聘面试考题,这不是轻轻松松吗~

MGR_ mysqlsh_ Keepalive high availability architecture deployment document

【C语言】操作符详解(深入理解+整理归类)

tensorflow einsum函数

Redis特殊数据类型-HyperLogLog

GE口:SGMII模式和serdes模式

MySQL gets the self incrementing line mark (different from MySQL version)

Kubernetes' deployment, service concept, dynamic capacity expansion
随机推荐
String question
Redis special data type bitmap
Redis distributed cache learning notes
You can't satisfy everyone!
[lvgl (4)] event and event bubble of the object
[media controller] open source project learning notes (based on Arduino micro development board)
tensorflow scatter_ Nd function
Redis basic type - ordered set Zset
Tensorflow Einstein function
一个AI玩41个游戏,谷歌最新多游戏决策Transformer综合表现分是DQN的两倍
Love yourself first, then others.
找工作备忘
Redis特殊数据类型-BitMap
Depth first search (template use)
Sparksql core usage, 220724,
[essays: discretization]
Sealos packages and deploys kubesphere container platform
[learning notes] Web page rendering process
OSS authorizes a single bucket permission
HashSet转数组