在高并发的条件下因为引入缓存然而可能会引发如下的问题, 导致数据库服务器宕机, 影响用户的体验.
缓存 - 穿透
特点: 用户高并发的环境下, 拜访一个 数据库中不存在的数据 就叫缓存穿透!!!(库中不存在, 缓存中也就没有数据, 缓存有效 == 穿透)
解决方案: 限度用户单位工夫内的拜访次数 , 封禁 IP 地址. 网关过滤.
缓存 - 击穿
特点: 某些高频的拜访数据因为操作不当导致 缓存生效 . 从而使得大量的用户间接拜访数据库. (误操作删除了一个正在高并发拜访的数据)
解决方案: 配置多级缓存
缓存 - 雪崩
特点: 因为 redis 中的高频 key 在 同一时间内大量的生效 . 导致用户的申请间接拜访数据库, 导致宕机的危险. (flushAll, 删除多个数据)
解决方案: 配置多级缓存, 设定不同的超时工夫.