互联网通用架构技术----缓存雪崩

缓存并发

若是查询缓存key,不存在就加锁,去DB查找以后解锁;其余进行发现有锁以后进行等待,可是这种方式会形成锁等待。数据库

缓存失效

高并发时,因为大量的key设置了相同的过时时间,致使某一时间大量key过时形成数据库压力,能够经过设置超时时间加上1-5分钟的随机时间,避免集体失效。缓存

缓存雪崩

缘由是某一时间,key未更新到缓存中大量请求压如数据库致使宕机。解决方案:并发

  1. 采用加锁计数(参考缓存并发),能够缓解数据库压力,可是作成系统的吞吐量。
  2. 能够给用户返回默认值(可理解为优雅降级)。
  3. 将默认值请求放入队列,下次较快查缓存。
  4. 采用缓存预热,加一个服务去跑预热数据到缓存中。
相关文章
相关标签/搜索