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

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

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

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

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

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

09-02 12:12