缓存穿透
概念:是指查询数据库中一定不存在的数据。
栗子:一个数据库中不存在的数据 每次查询为空,每次不进行缓存。
解决:1 采用缓存空值的方式 设定缓存过期时间较短 比如设置60s
2 采用布隆过滤器 (Google ,Redis 都可以实现)
缓存雪崩
概念:是指在某一个时间段,缓存集中过期失效。
栗子: 电商的商品抢购的商品 集中缓存一个小时
解决: 不同分类的商品,缓存不同周期。
缓存击穿
概念:是指一个key 非常热点,在不停的扛着大并发,大并发集中对这一个点进行访问,当这个key在失效的瞬间,持续的大并发就穿破缓存,直接请求数据库。
栗子 电商 某个商品成为爆款
解决:直接设为永不过期