缓存
文章平均质量分 89
hellozhxy
这个作者很懒,什么都没留下…
展开
-
剖析亿级请求下的多级缓存
什么是多级缓存所谓多级缓存,即在整个系统架构的不同系统层级进行数据缓存,以提升访问效率,这也是应用最广的方案之一。我们应用的整体架构如图1所示:图1 多级缓存方案整体流程如上图所示:1)首先接入Nginx将请求负载均衡到应用Nginx,此处常用的负载均衡算法是轮询或者一致性哈希,轮询可以使服务器的请求更加均衡,而一致性哈希可以提升应用Nginx的缓存命中率,相对于轮询,一致性哈希会存在单机热点问题,一种解决办法是热点直接推送到接入层Nginx,一种办法是设置一个阀值,当...转载 2021-04-22 19:36:16 · 166 阅读 · 0 评论 -
高速缓存与一致性
我一直坚持由浅入深的方式发布文章,因此时间线就是很好的阅读顺序。但是文章日益增多,或许部分读者喜欢阅读自己感兴趣方向的文章。因此,为了方便大家,有必要引入一个索引。首先是介绍高速缓存的基本原理,硬件是如何缓存和查找数据,这是个基础入门。smcdef:Cache的基本原理zhuanlan.zhihu.com针对高速缓存基本原理中引入的问题,在下篇文章中解答。从代码的角度考虑高速缓存是如何影响我们代码的运行。smcdef:Cache对代码的影响zhuanlan.zhihu.com我们对高速缓转载 2020-06-05 15:11:09 · 3249 阅读 · 0 评论 -
缓存穿透、缓存击穿和缓存雪崩
我们使用缓存的主要目是提升查询速度和保护数据库等稀缺资源不被占满。而缓存最常见的问题是缓存穿透、击穿和雪崩,在高并发下这三种情况都会有大量请求落到数据库,导致数据库资源占满,引起数据库故障。今天我主要分享一下layering-cache缓存框架在这个三个问题上的实践方案。概念缓存穿透在高并发下,查询一个不存在的值时,缓存不会被命中,导致大量请求直接落到数据库上,如...转载 2020-04-24 13:50:06 · 183 阅读 · 0 评论 -
layering-cache
layering-cachelayering-cache是一个支持分布式环境的多级缓存框架,使用方式和spring-cache类似,主要目的是在使用注解的时候支持配置过期时间。layering-cache其实是一个两级缓存,一级缓存使用Caffeine作为本地缓存,二级缓存使用redis作为集中式缓存。并且基于redis的Pub/Sub做缓存的删除,所以它是一个适用于分布式环境下的一个缓存...原创 2020-04-24 13:46:25 · 1236 阅读 · 0 评论 -
缓存总结
缓存对于每个开发者来说是相当熟悉了,为了提高程序的性能我们会去加缓存,但是在什么地方加缓存,如何加缓存呢?假设一个网站,需要提高性能,缓存可以放在浏览器,可以放在反向代理服务器,还可以放在应用程序进程内,同时可以放在分布式缓存系统中。缓存策略图从用户请求数据到数据返回,数据经过了浏览器,CDN,代理服务器,应用服务器,以及数据库各个环节。每个环节都可以运用缓存技术。从浏览...原创 2019-09-03 19:13:25 · 566 阅读 · 0 评论