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

落花浮王杯 提交于 2020-08-15 12:27:38

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

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

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

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

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

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

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!