缓存穿透:缓存穿透是故意查询不存在的key,不经过缓存,造成DB压力过大。
解决:1.用bitmap 2.bitmap解决不了用布隆过滤器(Bloom Filter) 3.为请求设置一个值为null的缓存 设置较短的过期时间
2.缓存击穿:缓存过期失效 但是现在用户高并发
解决:1.热点数据的缓存永不过期 2.采用分布式锁,缓存失效后只有一个线程更新并写入。
3.缓存雪崩:大面积的缓存击穿或服务不可用
解决:1.使用redis哨兵机制或集群等架构提升可用性
2.采用和缓存击穿一样的方式。