不了解缓存别说你做过性能测试-I
kevin老师的私房课程【APP自动化实战】来啦!扫文末二维码免费领取!
仅限100名哦,领完为止
日常工作中,开发也好、运维也好,张口说缓存、闭口说缓存,又更甚至是性能测试的同学,他们会说,没有什么是缓存解决不了的,如果有,那就来两层缓存。那么缓存到底是什么呢?又是用来解决什么问题的呢?
1、什么是缓存呢?
所谓的缓存,其实就是内存。主要用来存放那些读写比很高、很少变化的数据,如商品的类目信息,热门词的搜索列表信息,热门商品信息等。应用程序读取数据时,先到缓存中读取,如果读取不到或数据已失效,再访问数据库,并将数据写入缓存。
2、缓存可以解决什么问题与缓存的工作原理
缓存主要是用来解决用户所需要数据从存储中获取慢的问题,其工作原理是:比较典型的是在互联网中,用来解决从数据库中读取数据慢的问题。如下图所示:
图一、缓存工作原理
如图一所示,有了缓存后,用户请求到达应用程序侧,应用程序会优先查询缓存里面有没有数据,有将数据返回给用户,没有从数据库中获取数据,并存入到缓存中,并同时将数据返回给用户。显然有了缓存后,缓存可以存放一些热点数据,能有效减少数据查询对DB造成的压力。
o啦,对缓存定义和作用有个初步的了解后,我们回到今天的主题。我们的分享是一个系列的文章,今天主要介绍缓存知识体系,嗨嗨,缓存知识你到底知多少?
3、缓存知识体系
l 用户层缓存:
ü DNS缓存:本地DNS的缓存;
ü 浏览器缓存;
l 代理缓存:
ü CDN:反向代理缓存;
l Web服务器:
ü Web服务器自带的缓存:Apcahe、Nginx等;
l 应用层缓存:
ü 各种应用服务:JAVA(ehcache缓存等);
l 数据层缓存:
ü 数据库的各种缓存:Oracle的SGA中的缓存,MySQL Innodb中的缓存等;
l 操作系统层缓存:
ü 操作系统缓存:CPU的缓存、内存的缓存等;
l 存储层缓存:
ü IO队列;
看吧,是不是很多、很多都不熟悉、甚至没听说过呢?没关系,我们是一个系列的文章,在后面的推文中会逐层给大家介绍这些缓存的知识及在性能测试中的应用。今天分享的仅仅是缓存的知识体系,就先分享到这里。
原创不易,欢迎转发。
--扫码加入【性能测试技能群】,掌握高级性能测试与分析实战技能
--扫码加入【自动化测试技能群】,掌握自动化项目实战和技能提升
--扫码加入【面试高薪岗位技巧群】全面熟知面试题解析和面试技巧
相关活动咨询扫下方二维码哦
长按二维码咨询