别急着背答案,先看懂 Redis 在面试里到底怎么被“拷问”的
这门课不教你怎么把 199 道题背下来应付面试,而是专门拆解高频考点背后的逻辑。很多自学者最大的坑就是死记硬背,一旦面试官换个场景就懵了。课程针对 Java 开发中 Redis 最核心的使用场景,像缓存策略、分布式锁的实现细节、以及 Token 存储这些实战高频点,通过灵活拷问的方式,带你把原理和代码跑通。它解决的是你面对“讲讲 Redis 分布式锁原理”这种问题时,只会泛泛而谈,却说不清极端情况下的死锁、性能瓶颈或主从切换导致数据丢失等具体问题的痛点。
适合零基础补 Redis,建议按场景顺序慢慢啃
你不需要有深厚的算法功底才能学这门课,哪怕只懂基本的 Java 语法和 Redis 是做什么的就行。学习顺序上,强烈建议从“缓存”开始看,因为这是 Redis 最基础也最常用的功能,搞懂了缓存穿透、击穿、雪崩的区别,后面的内容才顺。接着再学“分布式锁”,这是面试重灾区,课程会把 Redisson 源码怎么实现锁、怎么续期、怎么安全释放,以及原子操作、主从复制带来的坑,一个个讲透。如果觉得一次性看太全容易晕,可以先挑“缓存”和“分布式锁”这两大块视频,把核心逻辑吃透,其他的如 Token 存储等作为补充慢慢看即可。
资料怎么配合练习,学完能独立做什么
视频里的代码资源一定要下载下来,直接在本地 IDEA 里跑一遍。别光看视频不动手,试着把 Redisson 的分布式锁代码复制进去,故意制造一个“锁没释放”或“锁提前释放”的 Bug,看看程序会怎么出错,再去对照视频里的解决方案修改。学完这门课,你不仅能应对绝大多数 Java 后端面试中关于 Redis 的提问,更重要的是,当你以后自己写项目需要加缓存或者做分布式锁时,能直接写出健壮的代码,知道怎么避免数据不一致,而不是生搬硬套网上的现成 demo。学不会没关系,这门课允许你反复看源码分析部分,直到你自己能讲清楚为什么这么写为止。
课程目录
000-Java高频面试专题视频课程简介.mp4 3.97M 001-Redis使用场景-你项目中的Redis主要用来做什么的.mp4 8.60M 002-Redis使用场景-缓存.mp4 14.76M 003-Redis使用场景-分布式锁.mp4 41.05M 004-Redis使用场景-实现分布式锁.mp4 20.22M 005-Redis使用场景-Redisson实现分布式锁.mp4 52.67M 006-Redis使用场景-Redisson实现分布式锁上锁源代码分析.mp4 68.76M 007-Redis使用场景-Redisson实现分布式锁续期源代码分析.mp4 59.35M 008-Redis使用场景-Redisson实现分布式锁的释放.mp4 35.59M 009-Redis使用场景-Redisson实现分布式锁是否可重入.mp4 23.94M 010-Redis使用场景-实现分布式锁要注意哪些坑?.mp4 5.33M 011-Redis使用场景-实现分布式锁-原子操作的坑?.mp4 23.58M 012-Redis使用场景-实现分布式锁-锁没有释放的坑?.mp4 7.52M 013-Redis使用场景-实现分布式锁-锁提前释放了?.mp4 47.36M 014-Redis使用场景-实现分布式锁-释放了别人的锁?.mp4 13.74M 015-Redis使用场景-实现分布式锁-大量请求竞争锁?.mp4 8.88M 016-Redis使用场景-实现分布式锁-主从复制问题?.mp4 44.58M 017-Redis使用场景-实现分布式锁-锁的性能问题?.mp4 23.70M 018-Redis使用场景-实现分布式锁-锁的可重入性问题?.mp4 43.10M 019-Redis使用场景-存储Token.mp4 11.68M 020-Redis使用场景-存储短信验证码.mp4 10.37M 021-Redis使用场景-计数器.mp4 21.04M 022-Redis使用场景-全局唯一数.mp4 38.47M 023-Redis使用场景-排行榜.mp4 98.67M 024-Redis使用场景-限流.mp4 59.80M 025-Redis使用场景-购物车.mp4 20.06M 026-Redis使用场景-关注粉丝.mp4 17.94M 027-Redis缓存-缓存穿透是怎么回事?.mp4 15.82M 028-Redis缓存-缓存穿透怎么解决?.mp4 19.10M 029-Redis缓存-布隆过滤器的作用?.mp4 9.77M 030-Redis使用场景-布隆过滤器运行逻辑?.mp4 44.10M 031-Redis使用场景-布隆过滤器为什么会误判?.mp4 21.37M 032-Redis使用场景-布隆过滤器的代码实现?.mp4 50.72M 033-Redis使用场景-缓存击穿是怎么回事?.mp4 13.89M 034-Redis使用场景-缓存击穿怎么解决?.mp4 19.06M 035-Redis使用场景-缓存击穿怎么解决?.mp4 9.20M 036-Redis使用场景-缓存击穿怎么解决?.mp4 36.24M 037-Redis使用场景-缓存雪崩是怎么回事?.mp4 24.38M 038-Redis使用场景-缓存雪崩怎么解决?.mp4 16.51M 039-Redis使用场景-Redis内存使用完了怎么办?.mp4 25.06M 040-Redis的string类型的值最大能放多大的数据?.mp4 64.34M 041-如何保证数据库与Redis的数据一致性?.mp4 39.12M 042-Redis集群最大能部署多少个主节点?.mp4 17.87M 043-Spring框架-Spring容器中的Bean是线程安全的吗?.mp4 58.07M 044-Spring框架-如何保证Spring容器中的Bean是线程安全的?.mp4 36.58M 045-Spring框架-什么情况下会触发Spring事务回滚?.mp4 23.07M 046-Spring框架-如果事务方法抛出IOException是否会触发Spring事务回滚?.mp4 66.12M 047-Spring框架-什么情况下Spring事务会失效?.mp4 20.59M 048-Spring框架-什么情况下Spring事务会失效?.mp4 48.16M 049-Spring框架-什么情况下Spring事务会失效?.mp4 52.34M 050-Spring框架-什么情况下Spring事务会失效?.mp4 17.06M 051-Spring框架-多线程下的Spring事务会失效?.mp4 49.15M 052-Spring框架-多线程下的Spring事务会失效?.mp4 44.40M 053-Spring框架-对Spring框架Bean的生命周期有了解过吗?.mp4 21.92M 054-RabbitMQ-说一说它的核心组件和工作原理?.mp4 77.53M 055-RabbitMQ-如何保证消息可靠投递不丢失的?.mp4 22.84M 056-RabbitMQ-如何保证消息可靠投递不丢失的?.mp4 68.48M 057-RabbitMQ-如何保证消息可靠投递不丢失的?.mp4 64.65M 058-RabbitMQ-如何保证消息可靠投递不丢失的?.mp4 29.45M 059-RabbitMQ-如何保证消息可靠投递不丢失的?.mp4 27.59M 060-RabbitMQ-RabbitMQ如何保证消息的幂等性?.mp4 22.24M 061-RabbitMQ-什么是死信队列?.mp4 37.03M 062-RabbitMQ-RabbitMQ死信队列是如何导致的?.mp4 52.46M 063-RabbitMQ-什么是延迟队列?.mp4 6.88M 064-RabbitMQ-RabbitMQ如何实现延迟队列?.mp4 40.59M 065-RabbitMQ-RabbitMQ的高可用机制有了解嘛?.mp4 37.09M 066-RabbitMQ-如果有百万消息堆积在MQ中,如何解决?.mp4 49.28M 067-RabbitMQ-如何解决RabbitMQ中因为消息堆积而导致的消息过期失效的问题?.mp4 16.88M 068-线程池-Java线程池有哪些核心参数,核心线程数?.mp4 42.62M 069-线程池-Java线程池有哪些核心参数,最大线程数?.mp4 15.59M 070-线程池-Java线程池有哪些核心参数,超时销毁?.mp4 29.11M 071-线程池-Java线程池有哪些核心参数,任务队列?.mp4 13.50M 072-线程池-Java线程池有哪些核心参数,线程工厂?.mp4 71.96M 073-线程池-Java线程池有哪些核心参数,拒绝策略?.mp4 13.79M 074-线程池-线程池有哪些拒绝策略-异常策略?.mp4 39.57M 075-线程池-线程池有哪些拒绝策略-丢弃策略?.mp4 52.62M 076-线程池-线程池有哪些拒绝策略-主线程负责策略?.mp4 22.38M 077-线程池-说一说线程池的执行流程?.mp4 41.30M 078-线程池-线程池核心线程数怎么设置呢?.mp4 80.96M 079-MyBatis-MyBatis框架是如何进行分页的?.mp4 34.32M 080-MyBatis-说一说MyBatis框架里面的缓存机制是怎么回事?.mp4 13.66M 081-MyBatis-说一说MyBatis框架里面的缓存机制是怎么回事-一级缓存?.mp4 96.56M 082-MyBatis-说一说MyBatis框架里面的缓存机制是怎么回事-一级缓存失效?.mp4 110.14M 083-MyBatis-说一说MyBatis框架里面的缓存机制是怎么回事-一级缓存有没有坑?.mp4 22.71M 084-MyBatis-说一说MyBatis框架里面的缓存机制是怎么回事-二级缓存?.mp4 35.76M 085-MyBatis-说一说MyBatis框架里面的缓存机制是怎么回事-二级缓存?.mp4 75.18M 086-HashMap-有没有了解过HashMap底层是怎么实现的?.mp4 53.86M 087-HashMap-有没有了解过HashMap底层是怎么实现的?.mp4 45.68M 088-HashMap-多线程条件下HashMap有什么问题吗?.mp4 41.84M 089-HashMap-多线程条件下HashMap数据丢失问题?.mp4 25.59M 090-HashMap-HashMap并发put和get返回null?.mp4 34.71M 091-HashMap-HashMap链表节点过深时为什么选择使用红黑树1?.mp4 45.94M 092-HashMap-HashMap链表节点过深时为什么选择使用红黑树2?.mp4 48.30M 093-HashMap-HashMap链表节点过深时为什么选择使用红黑树2?.mp4 47.20M 094-HashMap-什么是hash碰撞?.mp4 25.35M 095-HashMap-发生hash碰撞怎么解决?.mp4 56.39M 096-HashMap-请介绍一下ConcurrentHashMap底层是怎么实现的?.mp4 93.37M 097-HashMap-请介绍一下ConcurrentHashMap底层是怎么实现的?.mp4 85.40M 098-ThreadLocal-请介绍一下ThreadLocal底层是怎么实现的?.mp4 138.46M 099-ThreadLocal-ThreadLocal为什么会内存泄漏?.mp4 56.63M 100-ThreadLocal-ThreadLocal为什么会发生内存泄漏代码验证?.mp4 50.19M 101-Thread-请说一说sleep()和wait()有什么区别?.mp4 216.21M 102-Thread-多个线程如何保证按顺序执行1?.mp4 71.17M 103-Thread-多个线程如何保证按顺序执行2?.mp4 56.69M 104-Thread-多个线程如何保证按顺序执行3?.mp4 38.70M 105-Thread-Java线程池中submit()和execute()方法有什么区别?.mp4 48.43M 106-Thread-Java线程池中submit()为什么异常没有抛出1?.mp4 144.96M 107-Thread-Java线程池中submit()为什么异常没有抛出2?.mp4 136.40M 108-Thread-Java线程池中execute()为什么可以直接抛出异常?.mp4 50.34M 109-jvm-Java继承时父子类的初始化顺序是怎样的?.mp4 76.96M 110-jvm-你了解JVM类加载的双亲委派模型吗?.mp4 47.95M 111-jvm-JDK为什么要设计双亲委派模型,有什么好处?.mp4 53.12M 112-jvm-可以打破JVM双亲委派模型吗?如何打破JVM双亲委派模型?.mp4 423.71M 113-jvm-什么是内存溢出?.mp4 9.92M 114-jvm-什么是内存泄漏?.mp4 28.55M 115-jvm-你们线上项目JVM都怎么设置的?.mp4 24.56M 116-jvm-线上Java项目服务器内存飙升怎么排查处理1?.mp4 41.01M 117-jvm-线上Java项目服务器内存飙升怎么排查处理2?.mp4 28.13M 118-jvm-线上Java项目服务器内存飙升怎么排查处理3?.mp4 58.89M 119-jvm-线上Java项目服务器CPU飙到100%怎么排查?.mp4 28.98M 120-jvm-线上Java项目服务器CPU飙到100%怎么排查2?.mp4 41.38M 121-jvm-JVM发生OOM后,其他线程是否可以继续工作?.mp4 52.76M 122-jvm-JVM发生OOM后,其他线程是否可以继续工作?.mp4 31.35M 123-jvm-高并发系统的JVM如何优化1?.mp4 62.82M 124-jvm-高并发系统的JVM如何优化2?.mp4 15.96M 125-jvm-高并发系统的JVM如何优化3?.mp4 29.02M 126-jvm-高并发系统的JVM如何优化4?.mp4 19.17M 127-jvm-高并发系统的JVM如何优化5?.mp4 14.46M 128-jvm-高并发系统的JVM如何优化6?.mp4 10.13M 129-jvm-高并发系统的JVM如何优化7?.mp4 37.86M 130-jvm-高并发系统的JVM如何优化8?.mp4 55.09M 131-jvm-高并发系统的JVM如何优化9?.mp4 8.88M 132-求职-找一个什么样的公司?.mp4 11.58M 133-求职-程序员选择去哪个城市发展?.mp4 22.00M 134-求职-程序员的学历问题?.mp4 9.43M 135-求职-普通学校进大厂难吗?.mp4 10.89M 136-求职-大龄能转行做IT吗?.mp4 7.90M 137-求职-企业选人的规则?.mp4 25.61M 138-求职-面试怎么准备?.mp4 15.35M 139-简历-制作简历的总体要求?.mp4 20.40M 140-简历-简历整体结构?.mp4 22.90M 141-简历-简历中的专业技能如何编写?.mp4 36.96M 142-简历-工作经历项目经历如何编写?.mp4 34.74M 143-简历-面试的基本流程.mp4 16.29M 144-MySQL-MySQL支持哪些存储引擎?.mp4 22.36M 145-MySQL-MySQL是如何执行一条SQL语句的?.mp4 24.66M 146-MySQL-MySQL数据库InnoDB存储引擎是如何工作的?.mp4 51.18M 147-MySQL-如果要对数据库进行优化,该怎么优化?.mp4 27.39M 148-MySQL-MySQL如何定位慢查询?.mp4 40.27M 149-MySQL-如何分析MySQL慢查询日志?.mp4 25.73M 150-MySQL-对MySQL索引了解吗?.mp4 35.93M 151-MySQL-MySQL索引底层是什么数据结构?.mp4 12.16M 152-MySQL-MySQL索引结构为什么不选择二叉查找树?.mp4 41.42M 153-MySQL-MySQL索引结构为什么不使用二叉查找树?.mp4 22.79M 154-MySQL-什么是局部性原理?.mp4 25.49M 155-MySQL-什么是磁盘预读?.mp4 55.29M 156-MySQL-MySQL索引结构为什么不选择AVL树?.mp4 46.00M 157-MySQL-MySQL索引结构为什么不选择AVL Tree?.mp4 15.64M 158-MySQL-MySQL索引结构为什么不选择红黑树?.mp4 34.25M 159-MySQL-MySQL索引结构为什么不选择红黑树?.mp4 14.34M 160-MySQL-MySQL索引结构为什么不使用B Tree?.mp4 27.19M 161-MySQL-MySQL索引结构为什么不使用B Tree?.mp4 38.58M 162-MySQL-MySQL索引结构为什么使用B加Tree?.mp4 37.57M 163-MySQL-MySQL索引结构为什么使用B加Tree?.mp4 22.27M 164-MySQL-MySQL索引结构为什么使用B加Tree?.mp4 34.99M 165-MySQL-MySQL索引结构为什么使用B加Tree?.mp4 53.88M 166-MySQL-MySQL索引结构为什么使用B加Tree?.mp4 22.49M 167-MySQL-MySQL索引结构为什么使用B加Tree?.mp4 52.17M 168-MySQL-MySQL为什么建议使用自增数字作为主键索引?.mp4 45.93M 169-MySQL-请解释一下 主键索引、聚集索引、辅助索引、非聚集索引?.mp4 58.81M 170-MySQL-什么是MySQL回表查询?.mp4 30.13M 171-MySQL-什么是MySQL覆盖索引?.mp4 34.24M 172-MySQL-什么是MySQL索引下推?.mp4 44.51M 173-MySQL-MySQL数据库InnoDB和MyISAM存储引擎有什么区别?.mp4 17.73M 174-SpringBoot-请说一说Spring Boot的自动装配原理?.mp4 80.67M 175-SpringBoot-如何实现一个自己的Spring Boot Starter?.mp4 82.39M 176-SpringBoot-Spring Boot与SSM有什么区别和优势?.mp4 47.45M 177-SpringBoot-Spring Boot项目如何兼容老的Spring项目?.mp4 30.07M 178-SpringBoot-什么是JavaConfig,有了解过吗?.mp4 50.52M 179-SpringBoot-Spring Boot如何排除某些类的自动装配?.mp4 28.99M 180-SpringBoot-SpringBoot项目如何实现异步调用1?.mp4 28.21M 181-SpringBoot-SpringBoot项目如何实现异步调用2?.mp4 80.84M 182-SpringBoot-SpringBoot项目如何实现异步调用3?.mp4 57.10M 183-SpringBoot-SpringBoot项目如何实现异步调用4?.mp4 43.18M 184-SpringBoot默认是使用JDK动态代理还是CGLIB动态代理?.mp4 33.20M 185-SpringBoot为什么默认是使用CGLIB动态代理?.mp4 82.78M 186-SpringBoot-SpringBoot为什么默认是使用CGLIB动态代理?.mp4 53.21M 187-SpringCloud-请说说你用过Spring Cloud哪些组件?这些组件分别有什么作用?.mp4 23.49M 188-SpringCloud-谈谈你对Spring Cloud的理解?.mp4 22.35M 189-SpringCloud-什么是服务熔断?什么是服务降级?有什么区别?.mp4 28.72M 190-SpringCloud-你之前的项目运行得好好的,为什么项目重构时要对系统进行拆分呢?.mp4 42.08M 191-SpringCloud-Eureka和Nacos都可以做注册中心,它们有什么区别?.mp4 53.23M 192-SpringCloud-ACID、BASE理论、CAP理论的关系?.mp4 41.96M 193-SpringCloud-BASE理论.mp4 26.59M 194-SpringCloud-CAP理论.mp4 36.22M 195-SpringCloud-ACID、BASE理论、CAP理论的关系?.mp4 16.01M 196-SpringCloud-注册中心应该选择CP还是AP?.mp4 19.76M 197-SpringCloud-接口幂等性?哪些场景需要幂等性?如何保证接口幂等性?.mp4 114.18M 198-SpringCloud-你在项目中是否遇到分布式事务问题,分布式事务怎么解决?.mp4 70.21M 199-SpringCloud-分布式环境下如何进行服务的限流?.mp4 122.81M 代码 讲义





