Redis--缓存雪崩-缓存穿透-缓存击穿

缓存雪崩:缓存在redis数据库中的数据大面积失效,请求落到了例如mysql数据库中,由于mysql不支持大量的请求操作,所以导致mysql数据库崩溃;

解决方案:①缓存失效后加锁②队列控制③key设置不同过期时间

缓存穿透:大量数据请求根本不存在redis缓存中的数据,导致没有走缓存,直接跑去访问数据库;

解决方案:①先把请求的数据缓存起来,然后设置过期时间②使用布隆过滤器;

缓存击穿:热点数据被频繁访问,这个热点数据突然失效(过期),导致没有走缓存,直接去访问数据库,导致数据库崩溃;

解决方案:①缓存热点数据基本不更新,设置永不失效②更新不频繁,缓存刷新流程耗时较少,采用分布式互斥锁③数据更新频繁,刷新流程耗时,可以利用定时线程在缓存过期前主动地重新构建缓存或或者延后缓存的过期时间,以保证所有的请求能一直访问到对应的缓存;

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容