02小节:用户查询优惠券之缓存穿透
作者:程序员马丁
note
热门项目实战社群,收获国内众多知名公司面试青睐,近千名同学面试成功!助力你在校招或社招上拿个offer。
用户查询优惠券之缓存穿透,元数据信息:
- 什么是牛券oneCoupon:https://t.zsxq.com/pAWgS
- 代码仓库:https://gitcode.net/nageoffer/onecoupon —— 申请项目权限参考上述牛券项目链接
- 章节难度:★★★☆☆ - 较难
- 视频地址:文档先行视频次之
©版权所有 - 拿个offer-开源&项目实战星球专属学习项目,依据《中华人民共和国著作权法实施条例》和《知识星球产权保护》,严禁未经本项目原作者明确书面授权擅自分享至 GitHub、Gitee 等任何开放平台。违者将面临法律追究。
内容摘要:市面上常见的缓存穿透解决方案,如布隆过滤器、缓存空值、分布式锁等,都各自存在一定的漏洞。为彻底解决缓存穿透问题,我们提出了一种综合应用这三种技术的组合方案。此外,还详细讲解了如何预估布隆过滤器的容量以及在面对超大容量需求时的应对策略。
课程目录如下所示:
-
业务背景
-
Git 分支
-
什么是缓存穿透?
-
缓存穿透常见解决方案
-
优惠券模板引入缓存穿透解决方案
-
常见问题答疑
业务背景
在上一节中,我们讨论了正常用户在访问优惠券时可能遇到的缓存击穿问题,并介绍了缓存预热、缓存永不过期、分布式锁、双重判定锁、分片分布式锁等技术来应对这些问题。然而,还有一个问题需要解决:如果用户频繁访问数据库中不存在的数据,就无法有效使用缓存,每次都需要访问数据库,这将导致数据库承受较大的压力。这也就是缓存穿透问题。
缓存穿透问题时序图如下所示:
Git 分支
20240827_dev_coupon-template-querypv-v2_cache_ding.ma