缓存穿透

顾名思义缓存穿透就是缓存形同虚设,完全不起作用,这种情况一般发生在每次请求数据的时候缓存里面都没有需要的数据转而去访问数据库,如果这种请求量大会导致数据库崩溃。
解决方案:
在每次出现这种请求的时候都保存一个空值到缓存。

缓存雪崩

缓存雪崩是因为某种原因导致的缓存突然的不可用,造成数据请求压力过大而导致数据库崩溃。
这种情况有2种:
一是短时间内出现大面积的缓存过期现象。
二是缓存服务崩溃。
解决方案:
(1)需要将缓存过期时间设置的均衡一些,应该避免集中到某个时间点。
(2)基于缓存服务崩溃的解决方法,首先应该建立redis集群保证高可用,并且做缓存的持久化,保证缓存重启后依旧能立刻发挥作用。其次可以做限流,允许一定数量的请求通过避免数据库压力过高导致崩溃,其他未通过的请求可以默认返回一些提示信息

其实不管什么操作都是为了保证数据库不死,只有数据库不死服务就不止

posted on 2020-12-10 16:52  Y冰鑫  阅读(73)  评论(0)    收藏  举报