redis的穿透,击穿和雪崩
1.名词解释
举例子说明:在秒杀商品时,如果redis中没有商品信息,请求就会落在持久层上,这样就会导致持久层压力很大。穿透指的是,本来有一个商品信息在redis中有大量的请求访问到,然后突然这个商品信息失效了,导致请求落在了持久层上。而雪崩指的是突然好多商品信息失效了(最大可能是redis挂掉导致的),然后服务器直接GG。顺便说一声,这些名词的比喻都很形象。
2.解决方法
1)穿透
加入布隆过滤器,它会在控制层判断你的请求是否合法,不合法直接返回错误信息。
2)击穿
给热点信息延长时间或者永不过期。
3)雪崩
增加redis服务的数量,一台挂掉另外的接上。
限流:使用计数器,漏铜或者令牌桶来进行限流。