# 什么是缓存穿透,如何解决

Issue

欢迎在 Issue 中交流与讨论: Issue 390

Author

回答者: shfshanyue

当访问数据库中不存在的数据时,此时由于不恰当的缓存策略,每次查询都会穿透缓存打在数据库上,这样在高并发下可能造成缓存穿透,此时的解决方案:

  1. 当应用访问缓存不存在时,应用继续去访问数据库,即便数据库中不存在数据,此时应用再在缓存中把该值设为空,过期时间以短时间为主
  2. 使用过滤器做进一步的过滤,如redis 中的 bitmap 或 set,当不存在该值时,直接返回

扫码关注公众号全栈成长之路,并发送

即可在关注期间无限制浏览本站全部文章内容

你也可以在文章关于回复公众号扫码解锁全站的技术实现中获得解锁代码,永久解锁本站全部文章

Last Updated: 10/12/2020, 12:24:45 PM