常见的:
(1)缓存雪崩:就是说短时间内 大量的缓存全部过期,客户端请求直接绕过缓存 直接请求数据库 导致数据库负载较大
解决方法:加锁排队,设置随机的缓存过期时间
(2)缓存穿透:查询一个不存在的数据 由于没查到数据 所以不写入缓存 直接从数据库查询
解决方法:布隆过滤器,空结果的缓存时间 设置的短一点
(3)缓存击穿:指的是一个热点缓存 再某一时刻突然失效,客户端访问的时候找不到数据 直接访问数据库
解决方法:排队加锁,过期时间设置为永远不过期
(4)缓存预热:指的是启动redis 先把查询到的数据 存在缓存中 然后每次直接从缓存中获取所需的数据 节约用户的等待时间