![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
缓存解析
不思不念甚思念
遇见你是我的Lucky
展开
-
缓存概念
转载请注明出处哈:http://carlosfu.iteye.com/blog/2269678 一、基本概念 1. Cache(缓存): 从cpu的一级和二级缓存、Internet的DNS、到浏览器缓存都可以看做是一种缓存。维基百科: 写道a store of things that will be required in the future, and can be retrieved rap...转载 2018-03-09 14:46:17 · 228 阅读 · 0 评论 -
缓存系列文章--2.是否真的需要缓存?
转载请注明出处哈:http://carlosfu.iteye.com/blog/2269678 一、缓存的成本和收益是什么: 既然要讨论是否真的需要缓存这个问题,就要知道缓存带来的成本与收益(好处、坏处)是什么? 收益成本缓存 + 后端存储(资源)1. 加速读写2. 降低后端负载1. 数据不一致性2. 代码维护成本3. 架构复杂度 上面的表格应该清楚的表达了使用缓存后的收益和成本分别是什么...转载 2018-03-09 14:46:54 · 431 阅读 · 0 评论 -
缓存系列文章--3.缓存常用更新策略对比(一致性)。
转载请注明出处哈:http://carlosfu.iteye.com/blog/2269678 一、缓存的几种更新策略 从下面的表格看,缓存的更新策略大致分为三种,本文将从一致性和维护成本两个方面对于三种缓存更新策略进行简要说明,因为这些东西比较理论和抽象,如哪里说得不对,欢迎拍砖。 注: (1) 一致性:缓存和真实数据源(例如mysql, hbase, elasticsearch等...转载 2018-03-09 14:48:19 · 179 阅读 · 0 评论 -
缓存系列文章--4.缓存的粒度控制
转载请注明出处哈:http://carlosfu.iteye.com/blog/2269678 一、什么是缓存粒度 下面这个图是很多项目关于缓存使用最常用的一个抽象,那么我们假设storage层为mysql, cache层为redis。 假如我现在需要对视频的信息做一个缓存,也就是需要对select * from video where id=?的每个id在redi...转载 2018-03-09 14:49:04 · 433 阅读 · 0 评论 -
缓存系列文章--5.缓存穿透问题
转载请注明出处哈:http://carlosfu.iteye.com/blog/2269678 一. 缓存穿透 (请求数据缓存大量不命中): 缓存穿透是指查询一个一定不存在的数据,由于缓存不命中,并且出于容错考虑, 如果从存储层查不到数据则不写入缓存,这将导致这个不存在的数据每次请求都要到存储层去查询,失去了缓存的意义。 例如:下图是一个比较典型的cache-storage架构,c...转载 2018-03-09 14:49:48 · 151 阅读 · 0 评论 -
缓存系列文章--6.缓存雪崩问题
转载请注明出处哈:http://carlosfu.iteye.com/blog/2269678 一、什么是缓存雪崩 从下图可以很清晰出什么是缓存雪崩: 1. 由于Cache层承载着大量请求,有效的保护了Storage层(通常认为此层抗压能力稍弱),所以Storage的调用量实际很低,所以它很爽。 2. 但是,如果Cache层由于某些原因(宕机、cache服务挂了...转载 2018-03-09 14:52:11 · 144 阅读 · 0 评论 -
缓存系列文章--7.无底洞问题(multiget hole)
转载请注明出处哈:http://carlosfu.iteye.com/blog/2269678 一、背景 1. 什么是缓存无底洞问题:Facebook的工作人员反应2010年已达到3000个memcached节点,储存数千G的缓存。他们发现一个问题--memcached的连接效率下降了,于是添加memcached节点,添加完之后,并没有好转。称为“无底洞”现象 2. 缓存无底洞产...转载 2018-03-09 14:53:17 · 211 阅读 · 0 评论 -
缓存系列文章--8.热点key问题(mutex key)
转载请注明出处哈:http://carlosfu.iteye.com/blog/2269678 一、引出热点key问题 我们通常使用 缓存 + 过期时间的策略来帮助我们加速接口的访问速度,减少了后端负载,同时保证功能的更新,一般情况下这种模式已经基本满足要求了。 但是有两个问题如果同时出现,可能就会对系统造成致命的危害: (1) 这个key是一个热点key(例...转载 2018-03-09 14:54:08 · 341 阅读 · 0 评论