穿透数据是什么意思啊

穿透数据是什么意思啊缓存穿透穿透是指查询一个不存在的数据,存储层查询不到数据自然就不会回写缓存,这样请求每次都绕过缓存穿透到底层存储去查询。流量高峰时,DB/Hbase 等底层存储可能被打挂。解决方案:1、布隆过滤器,一定不存在的数据会被bloom filter拦截掉,从而避免了对底层存储

缓存穿透

穿透是指查询一个不存在的数据,存储层查询不到数据自然就不会回写缓存,这样请求每次都绕过缓存穿透到底层存储去查询。流量高峰时,DB/Hbase 等底层存储可能被打挂。

解决方案:

1、布隆过滤器,一定不存在的数据会被bloom filter拦截掉,从而避免了对底层存储系统的查询压力。

2、缓存空值,查询底层存储返回为空,我们仍然把这个空结果进行缓存

3、缓存预热,一定场景可以认为缓存不存在,底层数据也不存在,比如广告特征数据Hbase预热到Redis,Redis不命中,没必要穿透查询。

缓存雪崩

缓存雪崩是指我们设置缓存时采用了相同的过期时间,导致缓存在某一时刻同时失效,请求全部转发到DB,DB瞬时压力过大而雪崩。

解决方案:缓存失效时间随机打散,我们可以在原有的失效时间基础上增加一个随机值

缓存击穿

缓存在某个时间点过期,恰好在这个时间点对这个Key有大量的并发请求,即缓存被“击穿”,这个和缓存雪崩的区别在于这里针对某一缓存key,前者则是很多key。

解决方案:

1、抢锁成功的线程去底层存储捞取数据放入缓存,其它线程等待

2、一些场景允许这样的假设,缓存中没有数据,底层数据也没有。

2024最新激活全家桶教程,稳定运行到2099年,请移步至置顶文章:https://sigusoft.com/99576.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。 文章由激活谷谷主-小谷整理,转载请注明出处:https://sigusoft.com/16769.html

(0)
上一篇 2024年 9月 17日
下一篇 2024年 9月 17日

相关推荐

关注微信