网站建设经费的函,一个网站做三个关键词,centos lamp wordpress,干电商需要学什么在测试过程中#xff0c;我们或多或少会接触到Redis#xff0c;今天就把在小破站看到的三丰老师课程#xff0c;把笔记整理了下#xff0c;用来备忘#xff0c;也希望能给大家带来亿点点收获。 
主要分为两个部分#xff1a; 一、缓存技术在后端架构中是如何应用的#…在测试过程中我们或多或少会接触到Redis今天就把在小破站看到的三丰老师课程把笔记整理了下用来备忘也希望能给大家带来亿点点收获。 
主要分为两个部分 一、缓存技术在后端架构中是如何应用的 二、缓存应用测试中有哪些注意事项 
一、缓存技术在后端架构中是如何应用的 1、数据并非只能使用一种方式存储 出于持久化考虑数据会保存一份在关系型数据库事务 出于高性能考虑数据还会存储一份在Redis这种内存型数据库中 2、结合使用 Redis--主要用内存存储 Mysql--主要用磁盘存储 3、缓存应用流程 二、缓存应用测试中有哪些注意事项 
 
1、功能测试的角度 
1小公司无缓存架构 
测试修改功能的时候检查数据库内容是否变更即可有时候图方便直接改数据库而不是通过界面进行修改 
2数据库和缓存数据不一致 
数据修改之后后台开发容易犯的错误数据更新后极度容易导致数据库和缓存数据不一致不能仅仅关注数据库的内容还要检查缓存数据是否一致 
3最经典场景 
不懂缓存的软件测试可能就是缓存更新导致的因为有些开发用了异步更新缓存数据库修改之后过了一段时间程序异步去同步数据到Redis而且Bug无法重现有些Bug你测试的时候有然后开发已测试说没有了 
4互联网/高并发系统 修改完毕要检查数据库缓存内容  
2、性能测试的角度 
1缓存预热 
缓存预热是指系统上线后提前将相关的缓存数据加载到缓存系统。避免在用户请求的时候先查询数据库然后再将数据缓存的问题用户直接查询事先被预热的缓存数据。 
如果不进行预热那么Redis初始状态数据为空系统上线初期对于高并发的流量都会访问到数据库中 对数据库造成流量的压力。 2缓存雪崩 
举个例子 
例如数据库的性能是2w/sRedis缓存的性能是12w/s由于运维重启机器等原因Redis的缓存突然全部失效了这个时候如果有12w的用户向服务器请求那么这个时候数据库是扛不住的这就是所谓的数据库雪崩。 3缓存击穿 
缓存击穿跟缓存雪崩有点类似缓存雪崩是大规模的key失效而缓存击穿是某个热点的key失效大并发集中对其进行请求就会造成大量请求读缓存没读到数据从而导致高并发访问数据库引起数据库压力剧增。这种现象就叫做缓存击穿。 
4缓存穿透 
不断查询一个 DB 和缓存中一定不存在的数据这通常是由于恶意查询、非法请求或系统故障引起的。 
5性能测试中以上场景会导致系统崩溃 今天的分享就到这里下期见~