我是靠谱客的博主 可靠小兔子,这篇文章主要介绍redis异常缓存穿透缓存雪崩缓存击穿,现在分享给大家,希望可以做个参考。

缓存穿透

客户端请求的数据,缓存和数据库中都没有数据

1缓存空对象 

优点:实现简单,维护方便

缺点:额外内存消耗(设置TTL缓存过期时间)

           数据短期不一致性(控制TTL过期时间)

2布隆过滤器

在客户端和redis中添加布隆过滤器         有一定的缓存穿透风险 

不通过的肯定没有,通过的也可能没有

优点:内存占用小

缺点:实现复杂,存在误判

缓存雪崩

同一时间内大量缓存key失效或者redis服务器宕机导致大量请求访问数据库

1给不同的数据添加随机的TTL(第一次使用缓存将批量数据从数据库导入redis)

2配置redis集群 主从 哨兵 集群 分片

3给缓存业务添加降级限流

4业务多级缓存 其他中间件 数据库mycat

缓存击穿

热点key问题,高并发的key突然失效且缓存重建业务比较复杂,导致大量请求瞬间访问数据库。

查询数据库重建缓存业务比较复杂且耗时严重,高并发

1互斥锁

2逻辑过期

最后

以上就是可靠小兔子最近收集整理的关于redis异常缓存穿透缓存雪崩缓存击穿的全部内容,更多相关redis异常缓存穿透缓存雪崩缓存击穿内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(37)

评论列表共有 0 条评论

立即
投稿
返回
顶部