如果去招聘网站搜索高级后端工程师的职位,你不难发现,任职要求中大概率会提到缓存。比如,在快手 Java 后端工程师的 JD 中,就有这么一条,“有 3 年以上后台开发经验,理解 IO、多线程、集合等基础框架,熟悉缓存、消息队列等中间件技术,在实际项目有丰富经验”。
显然,缓存技术已成为互联网公司的标配,能不能用好缓存,是工程师到架构师的铺路石,也是一个优秀工程师的试金石。我知道,提到缓存,很多人马上脱口而出 Redis,紧接着就开始说各种奇淫技巧。但事实上,缓存不仅限于此。
从我角度看,要学好缓存技术,首先要有系统思维,不能一上来就钻到某个技术细节中。你要先理解缓存的演进逻辑,及缓存中间件的基本原理和运行逻辑。其次,你得了解所有缓存技术的概况,及其适用场景,比如:Java 技术栈里选择客户端缓存,是 Ehcache,Guava Cache 还是 Spring Cache?为什么?
最后,在理解原理的基础上,你要对一些缓存使用中的关键问题有自己的理解,及对应的解决方案,比如最常见的缓存穿透和雪崩问题,你有没有经过考验的优秀解决方案?再比如 Session 共享的方案,如何用缓存做?这些都是实际工作中要直面的问题,解决了这些问题,你才敢说懂缓存。
我最早接触缓存是在 2005 年,说实话,这么多年,见过了太多缓存技术。相应地,在工作中,我也见过很多因缓存设计不当而产生的问题。比如:
好了,不卖关子了。我想,对于缓存,你肯定会有很多疑惑。在我和极客时间合作的视频课《分布式缓存高手课》中,我会讲解常见缓存框架的实现原理和技术选型,并根据 JSR 107 规范,手把手带你实现一个缓存框架,了解穿透、并发、雪崩的规避与解决方案。通过支付、秒杀等场景下的实战案例,带你最大程度发挥缓存在项目中的效能,搞定工作中 90% 缓存应用场景。
👆扫码免费试读
结算时,输入优惠口令「huancun66」
到手仅 ¥89,立省 ¥40
明天 24:00 即将恢复原价
我是程超,前易宝支付架构师、阿里云 MVP、腾讯云 TVP,畅销书《深入分布式缓存》《高可用可伸缩微服务架构》作者。
我有 15 年 Java 研发经验,8 年技术管理和架构经验,对支付和电商领域非常熟悉,擅长微服务生态建设和运维监控,对 Dubbo、Spring Cloud 和 gRPC 等微服务框架有深入研究,帮多家公司进行过微服务建设和改造,目前致力于公司业务中台建设。
根据这些年的实战经验,我总结了学习缓存的 3 个关键点:深入理解缓存框架的原理,掌握熟练使用缓存框架的方法,及缓存在不同业务场景下的应用。
所以,在课程设计上,我采用了理论与实战相结合的方式,将课程分为四大模块:
第一章,基础理论篇。介绍缓存的意义、应用场景及分类,并带你解读 JSR 107 缓存规范。
第二章,动手学习篇。通过具体案例和场景,介绍常用缓存框架的技术选型和实现原理,讲解 Redis 的常用命令及其使用场景,还有 Redis 6.0 多线程模型的实现。
第三章,实践技巧篇。深入分析缓存穿透、并发、雪崩等场景的规避和解决方案,重点讲解缓存的一致性问题,了解如何利用缓存来实现分布式并发锁,以及缓存在多机房情况下的使用和布署,并带你一起根据 JSR 107 规范,实现一个简单的缓存框架。
第四章,综合案例篇。将之前学过的基础理论、实践技巧具体落地,我会以微服务配置中心、支付中心和秒杀为案例场景,结合具体应用,带你掌握缓存架构的选型和使用方式,了解如何能设计出更加优秀的架构系统。
常见缓存框架的实现原理与选型;
Redis 6.0 多线程模型的原理剖析;
穿透、并发、雪崩的规避与解决方案;
支付中心、秒杀等场景下的实战案例。
👆扫码免费试读 & 订阅
温馨提示:
订阅后可通过「极客时间 App」或「极客时间小程序」我的 - 已购,学习已订阅的专栏。
👇点击「阅读原文」,
输入优惠口令「huancun66」,
最后 2 天优惠,以 最低价 ¥89 入手。