Redis快速实战简单介绍常见的缓存及分类
在大型网站中从浏览器到网络,从网络到服务器,从服务器到数据库等各个层面都有资源数据消耗,并且在大型网站建设过程中在每个层次上都应用了大量的缓存技术,使用这些缓存技术也极大的提升了系统的性能以及用户体验,下面我们就来看看在日常开发中常见的缓存分类。客户端缓存
在传统互联网应用中,我们会经常用到页面缓存以及浏览器缓存等操作,在移动互联网领域我们还会用到一些APP的缓存,将数据放入的Android底层的数据库SqlLite中等等操作。这些缓存操作都是在客户端来完成的,所以被统称为客户端缓存。
页面缓存
所谓的页面缓存是指利用一些客户端页面的某些元素或者是某些全局的元素对数据进行存储,或者是利用一些其他的技术手段将数据保存成客户端页面引用的文件等操作。
例如在HTML5中用到的Cookie、WebsStorage、WebSQL、indexDB、ApplicationCache等技术。可以通过设置页面的manifest描述文件,并且将manifest文件属性添加到页面的html标签中;还可以使用LocalStorage来进行本地缓存。当然还有很多的缓存手段来实现页面缓存操作。
浏览器缓存
我们知道在使用BS架构的应用中,当客户端向服务器请求资源的时候,会先去浏览器缓存中查找,如果在浏览器缓存中找到了相应的资源请求副本,这个时候就可以直接将对应的资源文件进行渲染而不需要请求原始服务器,这样可以极大的减少资源在网络传输中的性能消耗。
而浏览器缓存可以分为强制缓存和协商缓存两种。其中强制缓存是指直接使用浏览器缓存来完成数据缓存的操作。现需要满足如下的两个条件CacheControl的maxage是否过期Expires的缓存时间是否过期metahttpequivCacheControlcontentmaxage7200metahttpequivExpirescontent过期时间
协商缓存是指,在服务器资源没有发生改变的时候使用浏览器缓存(304)。如果服务器资源发生了改变就使用服务器资源(200)。metahttpequivcachecontrolcontentnocache
APP缓存
所谓的APP缓存是指使用原生的APP实现方式将请求到的数据放入到移动端的内存中,或者是使用本地文件的方式来实现缓存操作,或者如上面提到的可以使用SQLite数据库进行存储,这也是为什么我们的手机会越用越卡的原因,因为在我们的手机空间中有可能缓存了太多的垃圾文件。导致整个的手机运行非常缓慢。网络端缓存
在现在很多的网站都是通过Nginx进行了代理,客户端通过代理的方式来请求服务器的数据资源。所谓的网络端缓存就是在Web服务器端通过代理的方式来进行请求的处理。
Web代理缓存
在浏览器进行页面加载的时候会从原始服务器上去请求一些静态的资源文件,例如说一些样式文件、一些图片文件等等。用户在第一次请求的时候,这些原始的资源文件是从原始服务器上进行获取的,如下图所示,当用户第二次请求相同的资源的时候由于第一次请求的有些静态资源已经被缓存到了代理服务器上,第二次请求进入的时候就可以直接从代理服务器进行加载,这样可以减少从原始服务器加载资源的网络消耗。这也是实现网络缓存的手段之一。
边缘缓存
边缘缓存操作在业界比较著名的就是CDN技术,CND技术全称是ContentDeliveryNetwork,内容分发网络,CDN通过部署在各地的边缘服务器,使得用户可以从就近的节点获取到内容,降低网络阻塞,降低用户访问延迟。是有效的网络缓存手段。
CDN所使用的关键技术就是内存存储与内容分发技术,现在很多的公有云提供商都提供的CDN服务。使用者可以将一些图片资源、文件资源存储到CDN上,这样可以极大的提升网络效率。
服务端缓存
服务端缓存是占据了整个缓存服务的核心部分,其中包括数据库级别的缓存、平台级别的缓存以及应用级别的缓存。
数据库级别缓存
数据库是我们常用的实现数据持久化的手段之一,MySQL数据库在Server层使用了查询缓存机制,也就是说在第一次执行SQL语句之后MySQL数据库会将查询结果进行缓存,如果第二次SQL执行之后是一样的SQL则会将缓存中的数据返回。在MySQL数据库底层使用了一种KV存储方式,其中K是SQL语句的Hash值,而V则表示查询到的结果值。在InnoDB数据库引擎中的bufferpool属性就是用来存储InnoDB的索引以及查询数据块的。
平台级别缓存
所谓的平台级别缓存是指使用了带有缓存特性的应用框架来完成平台的建设工作,例如经常会用到的GuavaCache、Ehcache、OSCache等等。这些缓存都是部署在应用服务器上来使用,所以也被称为是本地缓存。
应用级别缓存
应用级别缓存是指常用到的一些缓存中间件技术例如Redis、Memcached、EVCache、Tair等等。这些缓存都是采用KV结构来实现缓存存储,同时支持集群、高可用、高并发、高扩展等特性。总结
上面我们介绍了常见的缓存分类,利用这些缓存极大的提升的系统性能,提升了用户体验。
本土品牌的超越8月23日,安踏发布了2022年上半年财务报表,财报显示安踏上半年营业收入达到259。7亿元。首次超越了耐克中国,为中国的本土品牌打了一个漂亮的翻身仗。能够赶超耐克这其中有很多因素
来永靖枣社一号,体验一次沉浸式度假在生活和工作中苦苦挣扎,疲惫烦躁压抑的情绪几乎要从胸腔中溢出,不知多久没有抬头看过蓝天白云,更不要说日出日落了。一个阴雨绵绵的周末,下定决心从工作的繁忙和生活的琐碎中抽身,寻一处幽
自驾穿越广东,广西,云南,四川,重庆,湖南,自驾游三个半月今年的自驾游从广东出发最远到达青海格尔木,出现了点状况,就只能折返。中间一路自驾穿越广东,广西,云南,西藏,青海,四川,重庆,湖南,最后回到广东,自驾游三个半月,原本计划从青海穿越
重游吊水壶知道吊水壶的名字,那是上世纪八十年代的末期。起初叫钓水壶,后来定名叫吊水壶。还记得九十年代初期的一年端午节,我同两个好友骑自行车去探访了一次。那时吊水壶景区还没有开发,我们三人只能
下周中小学开学早高峰将延长1小时昨日,北京交管局提醒,周末返校,下周开学,工作日早高峰提前,中小学周边道路交通压力早高峰期间增加周末期间部分商圈和郊区景点热度较高国家会议中心首钢园区周边道路分时分段采取临时交通管
山东12个国字号夜游地激活夜经济8月25日,文化和旅游部公布第二批国家级夜间文化和旅游消费集聚区名单,山东省济南方特东方神画青岛红树林度假世界淄博周村古商城烟台朝阳街潍坊青州古城威海市威海卫城等6家单位上榜。至此
羊卓雍错,一个你来了就不想走的地方西藏,一个缺氧却不缺信仰的地方,是一个神圣的地方。其中洋湖是我最喜欢的湖泊之一,它的美完全把我吸引住了。美景打卡羊湖,又名羊卓雍错,位于山南地区浪卡子县境内。湖面海拔4456米,东
人的一生要疯狂一次(我的第一次欧洲之旅)(六)回到蒙特勒,时间还早,我直接坐车到了西庸城堡,门票半价中文讲解器一共12瑞郎。讲解器把城堡中每个部分编号,按着序号走,讲解得非常详细。西庸城堡是一座水上城堡,四周由美丽的日内瓦湖环
六十年前的松江街市是这样的当我坐上宽敞明亮被昵称为蚕宝宝的松江有轨电车轻轻滑行时,疑窦顿生这真是半个多世纪前的松江吗?松环一线公交松江于1958年由江苏划入上海市,次年我由华东师大毕业分配到松江二中任教,可
换帅!地方特色高校,迎来新校长据山西医科大学官方公众号消息,9月9日上午,山西医科大学召开干部大会,会上,山西省委组织部副部长秦书义宣布了省委省政府关于学校领导班子成员职务调整的决定解军任山西医科大学校长,彭月
高规格!多位部长奔赴地方督导,透露了什么信号?智谷趋势(IDzgtrend)震谷子黄汉城最近,国务院罕见派出10个督导和服务工作组到多个经济大省指挥工作。率队出征的,全是正部级干部,规格远超以往。督导工作组瞄准的,全是所到之处