您的位置:首页 > 科技 > IT业 > 编程培训机构加盟怎样_微信推广平台哪个好_html网页制作代码大全_推广图片制作

编程培训机构加盟怎样_微信推广平台哪个好_html网页制作代码大全_推广图片制作

2024/12/23 10:56:50 来源:https://blog.csdn.net/jiangshuiy/article/details/144276740  浏览:    关键词:编程培训机构加盟怎样_微信推广平台哪个好_html网页制作代码大全_推广图片制作
编程培训机构加盟怎样_微信推广平台哪个好_html网页制作代码大全_推广图片制作

缓存的缘起

使用缓存的主要原因包括提高系统性能、降低数据库负载、提升用户体验和保证系统可用性。‌

在计算机体系结构中,由于处理器和存储器的处理时间不匹配,在处理器和一个较大较慢的设备之间插入一个更小更快的存储设备(如高速缓存)成为现代设计和实现的一个普遍观念。下图是一个典型的存储器层次结构(来自《深入理解计算机系统·第三版》):
存储器层次结构-图片来自《深入理解计算机系统·第三版》

进入互联网时代后,基于网络的分布式系统逐步成为主流。互联网应用的用户多、访问量大,用户对系统响应时间感知很敏感,因此对系统提出来新的要求。

与CPU的时间相比,单个用户要求的响应时间很长,如果是人工操作,可能到百毫秒级即可;如果是服务调用,可能要求在毫秒级。数量庞大的请求量则对系统的处理能力提出了新的挑战,也产生了众多的解决方案。

在这些解决方案中,主流的方案之一是使用缓存。根据应用服务功能的特性,提供各种各样的缓存机制。

应用缓存的原理:

与处理器和存储器的处理时间不匹配类似.
处理请求和响应不匹配的本质仍然是处理时间不匹配。

造成响应时间长的典型原因有以下几种:

  • 业务逻辑的复杂性增加了响应的时间;
  • 物理资源的限制引起资源的竞争、排队,从而延长了响应时间;
  • 访问量的突发性,加剧了上述问题的发生概率;
  • 利用上述特性进行主动/恶意攻击,加剧了上述问题发生几率。

缓存的分类

根据缓存所处的位置、担任的角色不同,缓存具有不同的分类方法。
根据缓存在应用中的位置,可以分为浏览器缓存、客户端缓存、服务器缓存、数据库缓存等。
根据缓存的放置方式,可以分为本地缓存、分布式缓存等。
根据缓存的生命周期,有不过期缓存和带过期时间缓存。

几点注意

由于增加了缓存这一中间交互,不可避免的增加了复杂度,也就引出了一些相关的问题点需要注意。

数据不一致

最典型的,是缓存数据和数据库的数据不一致。
其次,如果是分布式缓存,如果存在节点异常,可能会存在多个节点的数据不一致,有脏数据。

热点问题

对于突发事件、重大热点、秒杀、抢票等类似问题,如果采用缓存,相应的数据就会变成热点(hotkey),需要避免热点问题带来的系统崩溃。

缓存雪崩、穿透、击穿

缓存雪崩,是指大量的缓存(不同缓存key)同时大面积失效,导致缓存无效从而导致后端数据库系统的压力过大而崩溃。
缓存穿透,是指请求到空数据,缓存和数据库中都不存在,每次都会落到数据库查询。
缓存击穿,大量请求命中不到缓存而查到数据库,而这些请求请求的是同一条数据。这一点与缓存雪崩有显著差别。

小结

本文根据缓存的来源,简要的介绍了缓存的来源、分类和注意事项,便于对缓存有个概念上的了解。在后续内容将会介绍具体实践内容,以便于更细致的了解。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com