什么是缓存穿透呢?
下文笔者讲述缓存穿透的简介说明,如下所示
缓存穿透的概念
缓存穿透: 指缓存和数据库中都没有的数据 导致所有的请求都落到数据库上 造成数据库短时间内承受大量请求而崩掉
缓存穿透的解决方案
由于缓存穿透会带来系统的压力过大,那么我们如何避免缓存穿透呢? 1.接口层增加逻辑校验 如:用户鉴权校验,id做基础校验,id<=0的直接拦截 2.从缓存取不到的数据 在数据库中也没有取到 这时也可以将key-value对写为key-null 缓存有效时间可以设置短点 如:30秒(设置太长会导致正常情况也没法使用) 这样可以防止攻击用户反复用同一个id暴力攻击 3.采用布隆过滤器 将所有可能存在的数据哈希到一个足够大bitmap中 一个一定不存在的数据会被这个bitmap拦截掉 避免对底层存储系统查询压力
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。