如何避免缓存穿透、缓存击穿、缓存雪崩?
导读:如何避免缓存穿透、缓存击穿、缓存雪崩,你是不是想知道如何避免缓存穿透、缓存击穿、缓存雪崩IT技巧方面的经验,接下来小编为网友介绍。 缓存雪崩是指缓存同一时间大面积的失效,所以,后面的请求都会落
如何避免缓存穿透、缓存击穿、缓存雪崩
你是不是想知道如何避免缓存穿透、缓存击穿、缓存雪崩IT技巧方面的经验,接下来小编为网友介绍。
缓存雪崩是指缓存同一时间大面积的失效,所以,后面的请求都会落到数据库上,造成数据库短时间内承受大量请求而崩掉。
缓存雪崩解决方案:
- 缓存数据的过期时间设置随机,防止同一时间大量数据过期现象发生。
- 给每一个缓存数据增加相应的缓存标记,记录缓存是否失效,如果缓存标记失效,则更新数据缓存。
- 缓存预热
- 互斥锁
缓存穿透是指缓存和数据库中都没有的数据,导致所有的请求都落到数据库上,造成数据库短时间内承受大量请求而崩掉。
缓存穿透解决方案:
- 接口层增加校验,如用户鉴权校验,id做基础校验,id<=0的直接拦截;
- 从缓存取不到的数据,在数据库中也没有取到,这时也可以将key-value对写为key-null,缓存有效时间可以设置短点,如30秒(设置太长会导致正常情况也没法使用)。这样可以防止攻击用户反复用同一个id暴力攻击
- 采用布隆过滤器,将所有可能存在的数据哈希到一个足够大的bitmap中,一个一定不存在的数据会被这个bitmap拦截掉,从而避免了对底层存储系统的查询压力
缓存击穿是指缓存中没有但数据库中有的数据(一般是缓存时间到期),这时由于并发用户特别多,同时读缓存没读到数据,又同时去数据库去取数据,引起数据库压力瞬间增大,造成过大压力。
和缓存雪崩不同的是,缓存击穿指并发查同一条数据,缓存雪崩是不同数据都过期了,很多数据都查不到从而查数据库。

缓存击穿解决方案
- 设置热点数据永远不过期。
- 加互斥锁
上述分享的如何避免缓存穿透、缓存击穿、缓存雪崩?的全部内容,您了解了吗?
相关阅读
-
dnf模型补丁制作教程 关于dnf补丁最全的网站
一篇方法教程,与您分享dnf模型补丁制作教程和关于dnf补丁最全的网站方面的内容,接下来就是全面介绍。 我发了很多游戏补丁的视频,很多小伙伴都下载了,但是却很多人不会使用,虽然说
-
个人博客网站搭建多少钱 网站自助搭建的费用
本文为您带来的是个人博客网站搭建多少钱和网站自助搭建的费用的方法内容,具体内容如下: 现在建立个人博客网站的费用一般就是主机费用、域名费用、主题模板费用、技术指导费等,这
-
什么是云堡垒机 主要功能以及优势有哪些?
跟大家分享什么是云堡垒机的内容,一定能解决您的问题的,一起来了解吧! 堡垒机是种具备强大防御功能和安全审计功能的服务器。基于跳板机理念,作为内外网络的个安全审计监测点,以
-
云存储的三种存储方式 云存储的使用场景
今天带来的IT技巧小经验云存储的三种存储方式的电脑方面的小经验,下面IT袋网为您详细介绍 云存储服务通常提供三种主要的存储方式,分别是:对象存储、块存储和文件存储。 这三种存储


