缺什么补什么:别把Redis只当成缓存字符串

很多人在简历上写“精通Redis”,实际业务里却只会用 set 和 get。遇到去重只会用 set,遇到排行榜只会用 zadd,遇到位统计直接上关系型数据库把服务器搞垮。这门课要解决的核心问题,就是让你从“只会存取字符串”的半吊子状态,过渡到能根据具体业务场景精准选型。Redis 5 引入了 Stream 这一重量级数据结构,单纯停留在老版本的知识体系已经无法应对现在的面试与生产要求。如果你连 Bitmap 做活跃用户统计、HyperLogLog 做 UV 基数去重的底层逻辑都说不清,甚至连 RDB 和 AOF 的持久化触发机制都一头雾水,那就老老实实从概述和安装开始补课,别假装什么都会。

能力缺口与资料练习配合

这门课适合已经具备基本 Linux 命令行操作能力、能写简单后端代码,但对内存数据库缺乏体系化认知的技术学习者。课程目录从基础的数据类型一路延伸到管道、事务、Lua 脚本与持久化,非常紧凑。建议先看 string 类型的几个进阶用法,特别是 Bitmap 与 HyperLogLog 这两块,这是很多人实际工作中的盲区,也是面试高频考点。接着直接跳到 Stream 部分,这是 Redis 5 的核心特性,务必弄懂它与传统 list 类型在消息队列场景下的本质区别。看视频时必须开着终端同步敲命令,切忌只用眼睛看。资料包里的线索用来帮你理解整体知识框架,配套练习时要自己起一个 Redis 实例,把每个命令的边界条件都跑一遍。比如测 zset 的范围操作,就自己造十万条模拟数据,看看分页性能到底如何;学完 Lua 脚本,就自己写一段保证原子性的扣减库存代码,把事务和管道结合起来调试,不要只停留在能背出概念的水平。

学完能独立做什么

看完并跟着练完这门课后,你应该能在不依赖现成轮子的前提下,独立设计一些常见的业务系统。比如做一个限流计数器,能想到用 incr 配合键过期;做一个附近的人功能,能直接用 GEO 类型计算坐标距离;做一个Feed流,能评估是用 list 还是用 Stream 来做消息分发。更重要的是,面对数据持久化与恢复的架构选型,你能说清楚 RDB 快照的优缺点,知道在什么业务容忍度下该用哪种策略,而不是一问数据安全就只会答“重启会丢数据”。当你能独立写出带有 ACK 机制的消息消费组,并能解释 Lua 脚本在保证原子性时的底层执行原理,这门课才算真正消化。如果在实操中遇到瓶颈,回头把数据排序和键过期这两节重新看一遍,很多疑难杂症都在这些基础细节里。别好高骛远去折腾分布式集群,先把单机这一套核心数据结构彻底吃透。

课程目录

1 概述 (05:04)
2 安装Redis (14:26)
3 string类型之文本 (14:36)
4 string类型之数值 (06:11)
5 string类型之Bitmap (09:16)
6 string类型之HyperLogLog (05:12)
7 list类型 (17:14)
8 hash类型 (06:01)
9 set类型 (08:49)
10 zset类型-1 (17:54)
11 zset类型-2 (09:30)
12 GEO类型 (07:43)
13 管道与事务 (10:12)
14 数据排序 (08:26)
15 操作数据库与键 (10:24)
16 键过期 (10:24)
17 发布与订阅 (08:27)
18 Stream-1 (12:08)
19 Stream-2 (13:50)
20 Lua脚本 (11:03)
21 数据持久化之RDB (08:17)
22 数据持久化之AOF (10:15)
23 主从复制 (15:02)
24 哨兵 (09:29)
25 集群 (17:16)
26 管理Redis (08:33)