其他分享
首页 > 其他分享> > 【Reids】(RDB&AOF&事务&删除策略)

【Reids】(RDB&AOF&事务&删除策略)

作者:互联网

文章目录

Reids

1.redis持久化

1-1 持久化简介

什么是持久化?

利用永久性存储介质将数据进行保存,在特定的时间将保存的数据进行恢复的工作机制称为持久化。

为什么要进行持久化?

防止数据的意外丢失,确保数据安全性

持久化过程保存什么?

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5lZOGeas-1638802015219)(C:\Users\30287\AppData\Roaming\Typora\typora-user-images\image-20211023180850999.png)]

1-2 RDB

1-2-1 save

save指令:

save指令相关配置

save指令工作原理

img

注意save指令的执行会阻塞当前Redis服务器,直到当前RDB过程完成为止,有可能会造成长时间阻塞,线上环境不建议使用

1-2-2 bgsave

bgsave指令

bgsave指令工作原理

img

注意bgsave命令是针对save阻塞问题做的优化。Redis内部所有涉及到RDB操作都采用bgsave的方式,save命令可以放弃使用,推荐使用bgsave

bgsave指令相关配置

1-2-3 相关配置

RDB启动方式——save配置

RDB启动方式——save配置原理

img

注意

RDB特殊启动形式

默认情况下执行shutdown命令时,自动执行 bgsave(如果没有开启AOF持久化功能)

1-2-4 RDB优缺点

优点:

缺点:

1-2-5 RDB两种启动方式对比

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-mEjEwdn1-1638802015224)(C:\Users\30287\AppData\Roaming\Typora\typora-user-images\image-20211023231416908.png)]

1-3 AOF

1-3-1 概述

AOF概念

AOF写数据过程

img

1-3-2 AOF写数据三种策略

1-3-3 相关操作

AOF功能开启

AOF相关配置

dir

作用:AOF持久化文件保存路径,与RDB持久化文件保持一致即可

1-3-4 重写

AOF重写:随着命令不断写入AOF,文件会越来越大,为了解决这个问题,Redis引入了AOF重写机制压缩文件体积。AOF文件重写是将Redis进程内的数据转化为写命令同步到新AOF文件的过程。简单说就是将对同一个数据的若干个条命令执行结果转化成最终结果数据对应的指令进行记录。

AOF重写作用

AOF重写规则

AOF重写方式

1-4 RDB与AOF区别

img

RDB与AOF的选择之惑

2.redis事务

2-1 事务简介

redis事务就是一个命令执行的队列,将一系列预定义命令包装成一个整体(一个队列)。当执行时,一次性按照添加顺序依次执行,中间不会被打断或者干扰

一个队列中,一次性、顺序性、排他性的执行一系列命令

2-2 事务基本操作

事务操作的基本流程

img

2-3 事务的注意事项

定义事务的过程中,命令格式输入错误怎么办?

定义事务的过程中,命令执行出现错误怎么办?

注意:已经执行完毕的命令对应的数据不会自动回滚,需要程序员自己在代码中实现回滚。

2-4 锁

基于特定条件的事务执行——锁

基于特定条件的事务执行——分布式锁

基于特定条件的事务执行——分布式锁改良

3.删除策略

3-1 Redis中的数据特征

Redis是一种内存级数据库,所有数据均存放在内存中,内存中的数据可以通过TTL指令获取其状态

3-2 数据删除策略

时效性数据的存储结构

Redis中的数据,在expire中以哈希的方式保存在其中。其value是数据在内存中的地址,filed是对应的生命周期

img

数据删除策略的目标

在内存占用与CPU占用之间寻找一种平衡,顾此失彼都会造成整体redis性能的下降,甚至引发服务器宕机或内存泄露

定时删除

惰性删除

定期删除

img

删除策略对比

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PBUe46Q1-1638802015233)(C:\Users\30287\AppData\Roaming\Typora\typora-user-images\image-20211026125112468.png)]

3-3 逐出算法

当新数据进入redis时,如果内存不足怎么办 ?

影响数据逐出的相关配置

影响数据逐出的相关配置

img

LRU:最长时间没被使用的数据

LFU:一段时间内使用次数最少的数据

数据逐出策略配置依据

5.高级数据类型

5-1 Bitmaps

基础操作

扩展操作

5-2 HyperLogLog

基数

img

基本操作

相关说明

5-3 GEO

基本操作

在这里插入图片描述
最后喜欢的小伙伴,记得三联哦!

标签:AOF,Reids,内存,key,RDB,执行,数据
来源: https://blog.csdn.net/qq_45966440/article/details/121758265