在高并发的条件下由于引入缓存但是可能会引发如下的问题,导致数据库服务器宕机,影响用户的体验.
缓存-穿透
特点: 用户高并发的环境下,访问一个数据库中不存在的数据就叫缓存穿透!!!(库中不存在,缓存中也就没有数据,缓存无效==穿透)
解决方案: 限制用户单位时间内的访问次数 , 封禁IP地址. 网关过滤.
缓存-击穿
特点: 某些高频的访问数据由于操作不当导致缓存失效.从而使得大量的用户直接访问数据库. (误操作删除了一个正在高并发访问的数据)
解决方案: 配置多级缓存
缓存-雪崩
特点: 由于redis中的高频key在同一时间内大量的失效.导致用户的请求直接访问数据库,导致宕机的风险. (flushAll,删除多个数据)
解决方案: 配置多级缓存,设定不同的超时时间.
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。