什么是 redis 的雪崩、穿透和击穿?

一、雪崩

原因:大量key同一时间失效,导致redis短暂失效。所有请求直接到mysql,打垮mysql
解决方法:
1.设置随机的过期时间
2.限流组件,可以设置每秒的请求

二、穿透

原因:查询一个不存在的数据(类似id = -1),redis和mysql中都查不到,导致mysql被打垮
解决方法:
1.布隆过滤
2.每次系统从数据库中只要没查到,就写一个空值到缓存里去

三、击穿

原因:某个热key过期,大量的请求就击穿了缓存,直接请求数据库
解决方法:设置热key永久有效

你可能感兴趣的:(什么是 redis 的雪崩、穿透和击穿?)