缓存穿透
缓存穿透是指查询的key在redis和数据库中都不存在
解决方式:1.对于不存在的key,可以设置成key-null存于redis缓存中,缓存失效时间可以适当设小一点;2.布隆过滤器,将所有可能存在的key全部存在布隆过滤器中
缓存击穿
缓存击穿是指redis不存在,导致大量请求直接访问db数据库。
解决方式:1.设置缓存永不过期 2.互斥锁
缓存雪崩
缓存雪崩是指大量key同时失效,大量访问请求db压垮数据库,针对的是多个key
解决方式:1.设置缓存永不过期 2.key的失效时间尽可能随机