缓存穿透
查询一个一定不存在的数据, 我们就要到数据库中查询, 就可能导致数据库崩溃
解决
null结果进行缓存,同时加上过期时间
缓存雪崩
我们在缓存中放了很多数据, 但是过期时间是一样的,如果同一时间同时过期, 那么同一时间就会有巨额的请求进入数据库。
解决
原有的失效时间基础上增加一个随机值,减少同时失效的数据
缓存击穿
大量用户访问一个热点的key,当热点key过期时, 大量的请求进入数据库,
解决
加锁(大量并发只让一个人去查, 其他人等待, 查到后释放锁, 先查缓存, 就会有数据, 不用去查询数据库)
缓存穿透-缓存雪崩-缓存击穿
最新推荐文章于 2024-09-17 23:15:52 发布
文章讨论了缓存系统中常见的三个问题:缓存穿透导致数据库压力增大,解决方案是为null结果设置缓存并设定过期时间;缓存雪崩,通过为每个缓存项设置不同的过期时间来避免同一时刻大量请求数据库;缓存击穿则可以通过加锁机制保证并发访问时只有一条请求查询数据库,其他请求等待,同时优先检查缓存。
摘要由CSDN通过智能技术生成