面试题答案
一键面试- 缓存穿透:
- 描述:查询一个一定不存在的数据,由于缓存不命中,就会去查询数据库,若数据库也无此数据,每次查询都会打到数据库,给数据库带来压力,破坏了缓存与数据库间的数据一致性。
- 原因:恶意攻击,如黑客故意大量请求不存在的数据;业务漏洞,应用代码对查询参数校验不严格。
- 缓存雪崩:
- 描述:大量的缓存数据在同一时间过期失效,导致大量请求直接落到数据库上,造成数据库压力瞬间增大,甚至可能使数据库崩溃,缓存与数据库的数据一致性被破坏。
- 原因:缓存过期时间设置不合理,如在高并发场景下,大量数据设置了相同的过期时间;缓存服务器故障,导致大量缓存数据丢失。
- 缓存击穿:
- 描述:一个高并发访问的热点数据在缓存过期的瞬间,大量请求同时查询数据库,使数据库压力剧增,破坏缓存与数据库的数据一致性。
- 原因:热点数据过期时间到了,而高并发场景下大量请求同时访问该数据,此时缓存失效,请求都去访问数据库。