高并发场景常见的三个缓存问题

缓存穿透

大量不存在的数据访问,缓存中没有,直接访问DB,大量的数据并发的访问DB,导致DB崩溃

解决方法

解决方法1:将空的结果也缓存到Redis
解决方法2:在Redis的前面添加一个布隆过滤网,将DB组件放到布隆过滤中,将DB中不存在的数据先过滤一遍

缓存雪崩

大量的请求发送过来的时候,Redis中存储了大量过期时间相同的key,在接收请求的时候大量的key同时过期,导致大量的请求同时直接访问DB

解决方法

解决方法1:使用uuid随机值给key设置不同的失效时间
解决方法2:采用集群的方式防止雪崩

缓存击穿

解决方法:加锁

posted @ 2024-11-05 20:30  xxxLin  阅读(37)  评论(0)    收藏  举报