Redis缓存雪崩,缓存穿透,缓存击穿
2021/11/20 2:10:23
本文主要是介绍Redis缓存雪崩,缓存穿透,缓存击穿,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
缓存雪崩:因为缓存失效导致数据未加载到内存中,或者缓存时间大面积地失效,从而导致所有请求都会去查数据库,导致数据库、CPU和内存负载过高,甚至宕机。
1.超热数据设置为永久key
2、优化过期时间设置方案:不同类的数据设置不同的过期时间,每个key的时间都为当前类的过期时间+一个随机值
比如 A类90分钟 B类80分钟
那A001设置为90+随机值 ,B001设置为80+随机值。避免大量的 key 在同一时刻同时失效,造成缓存雪崩。
3、使用分布式锁重建缓存
当缓存不存在时,加锁,高并发下,只允许一个请求去数据库获取,获取完重新放入缓存。
分布式环境下使用Redis 分布式锁实现缓存重建,优点是设计思路简单,对数据一致性有保障;缺点是代码复杂度增加,有可能会造成用户等待。假设在高并发下,缓存重建期间 key 是锁着的,如果当前并发 1000 个请求,其中 999 个都在阻塞,会导致 999 个用户请求阻塞而等待。
4、双层缓存
redis与数据库之间再加一层 本地缓存ehcache,redis瞬间大部分数据过期,还可以从ehcache获取,撑一段时间
6、限流,降级策略
牺牲一部分请求,降低服务器压力
这篇关于Redis缓存雪崩,缓存穿透,缓存击穿的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-08阿里云Redis项目实战入门教程
- 2024-11-08阿里云Redis资料:新手入门与初级使用指南
- 2024-11-08阿里云Redis教程:新手入门及实用指南
- 2024-11-07阿里云Redis学习入门:新手必读指南
- 2024-11-07阿里云Redis学习入门:从零开始的操作指南
- 2024-11-07阿里云Redis学习:初学者指南
- 2024-11-06阿里云Redis入门教程:轻松搭建与使用指南
- 2024-11-02Redis项目实战:新手入门教程
- 2024-10-22Redis入门教程:轻松掌握数据存储与操作
- 2024-10-22Redis缓存入门教程:快速掌握Redis缓存基础知识