一. 什么是缓存穿透?(缓存穿透的原因是什么?)
    用户查询的数据,在数据库和前端都不存在的情况下,不断发送请求,从而增加数据库的压力;

    二. 缓存穿透的解决方案是什么,以及存在的优缺点
    1.缓存null值:
    1.1 实现思路:用户查询不存在的数据,缓存未命中,继续查询数据库,数据库中,未查询到;将查询结果返回到缓存中,缓存一个null值。
    1.2 优缺点:优点:实现简单,维护方便;缺点:占用缓存空间,容易造成数据的短期不一致;

    1. 布隆过滤:

    2.1 实现思路:基于哈希算法
    2.2 优缺点:优点:占用内存较少,不存在多余的key;缺点:实现复杂,存在误判(布隆过滤中,没有的数据,数据库和缓存中一定没有,但布隆过滤中有的数据,数据库和缓存不一定有)

    1. 增加id的复杂度,例如使用雪花算法随机生成id

    4.原理示意图
    QQ图片20220429113201.png

    5.实现思路:
    QQ图3.png

    6 .代码实现
    image.png
    7.redis更新问题
    image.png