缓存雪崩和缓存穿透问题及解决方案----->(浅谈)

首页 编程分享 EXPERIENCE 正文

安然_oschina 转载 编程分享 2020-08-16 22:30:06

简介 缓存雪崩: 缓存同一时间大面积的失败,所以后面的请求都会落到数据库上,造成数据库短时间内承受大量请求而崩掉 解决方案: 事前...


缓存雪崩: 缓存同一时间大面积的失败,所以后面的请求都会落到数据库上,造成数据库短时间内承受大量请求而崩掉

解决方案: 事前:尽量保证整个redis集群的高可用性,发现机器宕机尽快补上

                事中:本地ehcache缓存+hystrix限流&降级,避免MySQL崩掉

                事后:利用redis持久化机制保存的数据尽快恢复缓存

缓存穿透: 简答点说就是大量请求的Key根本不存在于缓存中,导致请求直接到了数据库上,根本没有经过缓存这一次层.

解决方案: 最基本的就是首先做好参数校验,一些不合法的参数请求直接抛出异常信息返回给客户端.比如查询的数据库id不能小于0,传入的邮箱格式不对的时候直接返回错误消息给客户端等等.

转载链接:https://my.oschina.net/u/4234912/blog/4496696


Tags:


本篇评论 —— 揽流光,涤眉霜,清露烈酒一口话苍茫。


    声明:参照站内规则,不文明言论将会删除,谢谢合作。


      最新评论




ABOUT ME

Blogger:袅袅牧童 | Arkin

Ido:PHP攻城狮

WeChat:nnmutong

Email:nnmutong@icloud.com

标签云