什么是缓存穿透呢?

乔欣 Java面经 发布时间:2022-11-07 15:05:29 阅读数:3724 1 Redis面试题(2023优化版)
下文笔者讲述缓存穿透的简介说明,如下所示

缓存穿透的概念

 
缓存穿透:
   指缓存和数据库中都没有的数据
   导致所有的请求都落到数据库上
    造成数据库短时间内承受大量请求而崩掉

缓存穿透的解决方案

由于缓存穿透会带来系统的压力过大,那么我们如何避免缓存穿透呢?

1.接口层增加逻辑校验
   如:用户鉴权校验,id做基础校验,id<=0的直接拦截

2.从缓存取不到的数据
    在数据库中也没有取到
     这时也可以将key-value对写为key-null
     缓存有效时间可以设置短点
    如:30秒(设置太长会导致正常情况也没法使用)
    这样可以防止攻击用户反复用同一个id暴力攻击

3.采用布隆过滤器
    将所有可能存在的数据哈希到一个足够大bitmap中
     一个一定不存在的数据会被这个bitmap拦截掉
    避免对底层存储系统查询压力
版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

本文链接: https://www.Java265.com/JavaMianJing/202211/16678051144830.html

最近发表

热门文章

好文推荐

Java265.com

https://www.java265.com

站长统计|粤ICP备14097017号-3

Powered By Java265.com信息维护小组

使用手机扫描二维码

关注我们看更多资讯

java爱好者