工作中redis相关知识总结

在这里插入图片描述


这里写目录标题

  • 一、Redis数据持久化概念
  • 二、redis数据类型
  • 三、redis缓存的应用流程
  • 四、什么样的数据适合存放到redis中?
    • 1、什么情况下,redis中会没有数据?
    • 2、redis缓存项目在测试中的注意事项
      • a、更新缓存
      • b、淘汰缓存
  • 五、什么是缓存击穿
    • 1、缓存失效的两种情况
    • 2、缓存数据有效期到来的那一瞬间举例
  • 六、什么是缓存穿透
    • 1、如何测试验证?
  • 七、缓存雪崩
    • 1、缓存雪崩的原因
    • 2、缓存雪崩风险
    • 3、解决方案
  • 八、redis 在你们项目中具体的作用,还有哪些常用的功能
    • 1、权限的数据的特点
    • 2、django自动化测试平台以及python开发的平台,需要异步执行任务或者定时执行任务
      • 1、选择一个broker
      • 2、安装redis容器
  • 九、涉及redis相关的内容怎么测试?
    • 1、故障注入

一、Redis数据持久化概念

持久化在Redis中的工作原理就是将你存储在缓存中的数据异步的保存在你的磁盘中实现持久存储。
当电脑或者服务器发生宕机时,我们的内存会被清空,但是存储在磁盘中的数据不会丢失,
当我们再次打开Redis时,磁盘中的数据集就会再次同步到我们的Redis中,也就是从磁盘中再次回到内存中。

二、redis数据类型

String
Hash
List
Set
ZSet

三、redis缓存的应用流程

在这里插入图片描述

四、什么样的数据适合存放到redis中?

读的频率非常高、更新频率较少的数据

应用程序从redis中微秒获取数据

1、什么情况下,redis中会没有数据?

a、第一次查询,数据需要从数据库查询再缓存起来
b、redis数据过期。数据查询不到了
c、redis挂了。整个服务都访问不了了,只能从数据库里面查询。

2、redis缓存项目在测试中的注意事项

a、更新缓存

缓存操作流程-写(更新缓存)
优点: 基本不会出现cache miss的情况。
缺点: 每次更新数据库都更新缓存,比较影响性能。

在这里插入图片描述

b、淘汰缓存

优点: 操作简单,性能比较好。
缺点:至少会出现一个 cache miss。(当大量的请求访问数据库时,数据库压力很很大)

在这里插入图片描述

五、什么是缓存击穿

在缓存过期的一瞬间,同时有大量的请求打进来,由于此时缓存过期了,所以请求最终都会走到数据,造成瞬间数据库请求量大、压力剧增,甚至可能打垮数据库。

1、缓存失效的两种情况

  • a、高峰期大面积缓存key失效。(所有请求全部访问后端数据库)
  • b、局部高峰期,热点缓存key失效(导致海量的请求直接击穿数据库)

2、缓存数据有效期到来的那一瞬间举例

  • 1、突发重要热点事件
  • 2、春节发红包
  • 3、电商降价、抢购、促销活动

在这里插入图片描述

六、什么是缓存穿透

访问一个redis缓存和数据库都不存在的key,此时会直接打到数据库上,并且查不到数据,没法写到redis缓存,所以下一次同样会打到数据库上。
缓存起不到作用,流量大时数据库可能会被打挂,此时缓存就好像被穿透了一样,起不到任何作用。

1、如何测试验证?

使用Jmeter等压测工具进行模拟测试

七、缓存雪崩

缓存雪崩是指缓存失效后导致服务大面积崩溃的后果

1、缓存雪崩的原因

缓冲击穿、缓存穿透、缓存服务不可用

2、缓存雪崩风险

因为缓存服务器挂掉或者热点缓存失效,从而导致海量请求去查询数据库,导致数据库连接不够用或者数据库处理不过来,从而导致整个系统不可用。
数据库服务器压力大,依赖数据库的其他系统就会面临崩溃风险。

3、解决方案

缓存击穿

  • 过期事件打散:高峰期大面积的key不要全部一起失效;或者直接不失效。
  • 热点数据不过期:针对单个热点数据。
  • 互斥锁:万一实在是拿不到缓存了,并发控制。
  • 缓存降级:redis服务器挂了,缓存备份,数据兜底。

缓存穿透

  • 业务规则校验:日期范围、业务规则校验不符合直接返回。
  • 数据格式校验:ID(特意设计)、前16位表示事件,中间3位表示业务分类代码,后面3位表示随机数
  • 布隆过滤器:把大批量的请求参数的真实值,压缩放到过滤器里,每次请求的时候,通过过滤器进行验证。
  • IP黑名单限流:禁止访问。

八、redis 在你们项目中具体的作用,还有哪些常用的功能

1、权限的数据的特点

需要去数据库中频繁的读和写,为了项目提高运行效率,可以把用户的权限在每次登录的时候都缓存到redis中。这样的话,权限判断的中间件就可以方便的从redis中得到当前用户的所有权限,从而判断。
对于那些数据量大,并且需要频繁的读写,一定需要做缓存的

详细的实现过程请查看博客:https://blog.csdn.net/YZL40514131/article/details/128599386

2、django自动化测试平台以及python开发的平台,需要异步执行任务或者定时执行任务

1、选择一个broker

使用celery首先需要选择一个消息队列。安装任意你熟悉的前面提到的celery支持的消息队列。

2、安装redis容器

因为redis默认没有密码,使用云服务器部署redis容器时需要设置密码。新建配置文件/root/redis.conf编写如下配置:

requirepass pythonvip

然后运行如下命令创建容器:

sudo docker run -d -p 9000:6379 -v /home/ubuntu/redis.conf:/usr/local/etc/redis/redis.conf --name myredis redis:alpine redis-server /usr/local/etc/redis/redis.conf

redis的连接url格式如下

redis://:password@hostname:port/db_number

详细的实现过程请查看博客:https://blog.csdn.net/YZL40514131/article/details/132245242

九、涉及redis相关的内容怎么测试?

1、故障注入

  • redis故障降级测试
    • 将redis中的数据清空。
    • 获取某个数据,看能否击穿redis去数据中获取到数据。
    • 检测获取到数据是否又保存到数据库中了。
    • 启动redis,恢复数据了,测试能否从redis中获取到正确的数据
    • redis崩溃了,能佛从数据库中获取到数据

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/289052.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

AUTOSAR中 CAN总线数据通过COM模块收发流程

目录 AUTOSAR中CAN总线数据通过COM模块收发流程1、AUTOSAR中 CAN总线数据通过COM模块发送流程2、AUTOSAR中 CAN总线数据通过COM模块接收流程 AUTOSAR中CAN总线数据通过COM模块收发流程 printf("欢迎关注公众号:车载嵌入式探索者,博主建立了一个车规…

Spark---RDD介绍

文章目录 1.Spark核心编程2.RDD介绍2.1.RDD基本原理2.2 RDD特点1.弹性2.分布式 :数据存储在大数据集群的不同节点上3.数据集 :RDD封装了计算逻辑,并不保存数据4.数据抽象 :RDD是一个抽象类,具体实现由子类来实现5. 不可…

泄放电路与LDO扩流电路

直接用并联电阻的方式进行能量泄放,这种方式简单直接但是电阻会损耗掉一定能量: 安规电容旁边的电阻: 2.三极管泄放电路:针对于大功率场景电阻不便于直接使用的时候,主要目的是电源断开时泄放大电容C1的能量。利用了三…

GO语言笔记1-安装与hello world

SDK开发工具包下载 Go语言官网地址:golang.org,无法访问Golang中文社区:首页 - Go语言中文网 - Golang中文社区下载地址:Go下载 - Go语言中文网 - Golang中文社区 尽量去下载稳定版本,根据使用系统下载压缩包格式的安装…

NSSCTF sql

开启环境: ?wllm1 回显正常,试试?wllm1 出现报错;加上%23正常 ?wllm-1or 11%23出现过滤 测试,空格用**替代, 等号用like替代 测试长度 ?wlmm1order/**/by/**/3%23正常 ?wlmm1order/**/by/**/4%23报错 长度为3,测试回显位置: ?wlmm-1union/**/select/**/1,2,3%23 …

test ui-03-cypress 入门介绍

cypress 是什么? 简而言之,Cypress 是一款专为现代Web构建的下一代前端测试工具。我们解决了开发人员和质量保证工程师在测试现代应用程序时面临的关键问题。 我们使以下操作成为可能: 设置测试编写测试运行测试调试测试 Cypress经常与Se…

案例087:基于微信小程序的社区养老服务平台设计与实现

文末获取源码 开发语言:Java 框架:SSM JDK版本:JDK1.8 数据库:mysql 5.7 开发软件:eclipse/myeclipse/idea Maven包:Maven3.5.4 小程序框架:uniapp 小程序开发软件:HBuilder X 小程序…

Allins 官网正式上线,铭文赛道进入 AMM 交易时代

“Allins正在通过全新的AMM方案为BRC20及多链铭文资产拓展DeFi场景,官网的全新上线意味着铭文资产的交易正式进入AMM时代。” 在2023年1月开始,Ordinals协议的推出成为了铭文赛道发展的开端,并为比特币这类非图灵完备的生态,带来了…

运用Jmeter进行登录测试

开始了解Jmeter,写篇关于Jmeter的博客做备忘,这里以苏宁易购网站的登录请求为例实战来说明测试计划元件,创建一个 Web 测试计划。 今天简单介绍Jemeter的入门,Jmeter 的安装这边就跳过,直接讲述如何使用JMETER,如何运用Jmeter进行测试。 a.下载jmeter软件 b.安装…

BLE Mesh蓝牙组网技术详细解析之Access Layer访问层(六)

目录 一、什么是BLE Mesh Access Layer访问层? 二、Access payload 2.1 Opcode 三、Access layer behavior 3.1 Access layer发送消息的流程 3.2 Access layer接收消息的流程 3.3 Unacknowledged and acknowledged messages 3.3.1 Unacknowledged message …

HTTP 错误 401.3 - Unauthorized 由于Web服务器上此资源的访问控制列表(ACL)配置或加密设置。

用IIS 发布网站,不能访问且出现错误: HTTP 错误 401.3 - Unauthorized 由于Web服务器上此资源的访问控制列表(ACL)配置或加密设置。您无权查看此目录或页面 解决办法: 1.打开IIS界面,选中发布的网站,右键—>编辑…

java代码规范(适合写程序之前先了解有助于开发协同)

目录 一、类定义 二、方法定义 三、接口定义 四、变量定义 1、命名规范: 2、类型规范: 3、常量规范: 五、static关键字 1、静态变量(类变量): 2、静态方法(类方法)&#x…

YOLOv5算法进阶改进(11)— 添加EMA注意力机制 | 基于跨空间学习的高效多尺度注意力模块

前言:Hello大家好,我是小哥谈。EMA(Exponential Moving Average)注意力机制是一种用于增强模型性能的注意力机制,它通过对模型的特征图进行加权平均来提取更有用的特征信息。具体来说,EMA注意力机制通过引入一个权重因子来调整特征图中每个位置的重要性,从而使模型能够更…

STM32MP157/linux驱动学习记录

1. uboot烧录 2.linux安装nfs服务 sudo apt-get install nfs-kernel-server rpcbind安装nfs服务 在用户根目录下创建一个名为“linux”的文件夹,以后所有的东西都放到这个“linux”文件夹里面,在“linux”文件夹里面新建一个名为“nfs”的文件夹&#…

【EI会议征稿通知】第三届艺术设计与数字化技术国际学术会议( ADDT 2024)

第三届艺术设计与数字化技术国际学术会议( ADDT 2024) 2024 3rd International Conference on Art Design and Digital Technology 所谓艺术设计,就是将艺术的审美感应用到与日常生活密切相关的设计中,使其不仅具有审美功能,而且…

如何使用VsCode编译C语言?

下载VsCode (1) 解压到D盘跟目录 (2) 运行[vscode.reg],注册右键菜单 (3) 进入[pack]文件夹,运行[install.bat]。安装基本插件。 下载mingw32 (1) 解压任意目录 (2) 我的电脑右键–高级系统设置–高级–环境变量–系统变量–Path(双击)–空白行(双击)–…

2024年1月4日 十二生肖 今日运势

小运播报:2024年1月4日,星期四,农历十一月廿三 (癸卯年甲子月丁卯日),法定工作日。 红榜生肖:狗、猪、羊 需要注意:龙、鼠、鸡 喜神方位:正南方 财神方位&#xff1a…

sodiscar!20+学习网站,工作学习两不误!

划到最后“阅读原文”——领取工具包(超过1000工具,免费素材网站分享和行业报告) Hi,我是胡猛夫~,专注于分享各类价值网站、高效工具! 更多内容,更多资源,欢迎交流!公 号…

阿赵UE学习笔记——7、导入资源

阿赵UE学习笔记目录 大家好,我是阿赵。   继续学习虚幻引擎的使用。这次将会把一个带动作和贴图的钢铁侠模型,导入的UE的项目中。 1、准备的资源 这里有2个fbx文件,都是带着网格和动画的,模型网格和骨骼是一样的,只…

服务器中了DevicData勒索病毒怎么处理

DevicData勒索病毒是最近一段时间非常流行的勒索病毒类型,有很多企业都不幸中招,给生产和经营带来了很大的影响。所以云天数据恢复中心决定就这种类型的勒索病毒,来和各位讲讲当服务器中了DevicData勒索病毒怎么处理。 特征 1,文件…