当前位置: 首页 > 后端技术 > PHP

缓存世界的三大问题

时间:2023-03-29 23:07:45 PHP

缓存穿透定义业务系统访问的数据根本不存在,称为缓存穿透。危害如果大量请求查询根本不存在的数据,那么这些请求就会落到数据库中,数据库的压力会急剧增加,可能导致系统崩溃当前存在于数据库中的缓存。avalanchedefinitioncache因为某种原因宕机了,原本被缓存抵制的海量查询请求会像疯狗一样涌向数据库。这时候,如果数据库承受不住巨大的压力,就会崩溃。这是缓存雪崩的解决方案(1)使用缓存集群提高缓存的高可用(2)使用防雪弹反弹软件监控请求的失败率。当它达到设置时,它会熔断、降级和限制流量。在热点数据集中定义一些故障对于请求量非常大的热点数据,一旦过了有效时间,此时会有大量的请求落在数据库上,可能会导致数据库崩溃之后,缓存中的数据被锁定;此时,到达缓存的其他查询请求将无法查询该字段,因此会被阻塞等待;当第一个请求完成数据库查询并缓存数据更新值时,释放锁;这时候其他被阻塞的查询请求就可以直接从缓存中找到数据了