别把 Redis 当成只会存字符串的黑盒
很多转岗或查漏补缺的同学,对 Redis 的认知往往停留在“一个跑在内存里的字典”层面。遇到缓存穿透、计数器、会话存储就只会无脑 SET 和 GET,一旦数据量上来或者遇到追加、截取需求,就开始写一堆低效的业务代码。这门课要解决的核心问题,就是帮你把“只会调 API”的状态,拉平到“懂全局命令、懂类型边界、懂时间复杂度”的可用状态。它不讲高可用集群,也不扯 BigKey 治理,只死磕基础概念、全局命令、字符串与哈希类型,适合完全没碰过键值库的零基础同学,或者平时用 Spring Data Redis 套壳封装、连 redis-cli 都没敲过几行的开发者。
按这个顺序补缺口,别跳着看
建议先啃 Redis 概述与全局命令这两块。很多人连 KEYS 和 SCAN 的区别都说不清,对 dbsize、flushdb 这类高危全局操作没有敬畏心,直接去看字符串命令只会越看越懵。看全局命令时,重点理解选择单线程结构的背景,别死记“快是因为内存”这种半截子结论,要能说清楚单线程模型为什么在处理 I/O 时反而省去了锁开销。接着看字符串类型,不要只盯着单个设置和获取,批量操作、自增自减、追加和截取才是面试和实战中最容易露怯的地方。看完每一节,立刻打开终端敲一遍,不要只看不练。资料包里的命令演示顺序,就是按照从全局到局部、从单条到批量编排的,练习时请严格跟着这个节奏走,先把基础命令敲熟,再去碰哈希类型的字段级操作,否则很容易把字符串和哈希的适用场景搞混。
看完应能独立回答这些问题
- 当业务需要一个文章点赞计数器,用字符串的自增命令和用数据库累加相比,性能差异的本质原因是什么?
- 批量设置和获取命令的时间复杂度是多少?为什么在大量 key 场景下绝对不能在循环里反复调用单条命令?
- 字符串的追加和截取操作,在什么业务场景下比直接覆盖重写更合适?内部编码在短数据和长数据下有什么区别?
- 哈希类型存储对象信息时,相比用字符串拼接 JSON,在字段级读写上到底优势在哪?
如果上面这四个问题你只能支支吾吾背概念,说明基础还没打牢,回去把对应章节的命令再手动跑一遍。学完这一季,你该能独立用 redis-cli 完成基础的数据结构落地,比如给一个简易博客系统写阅读量统计、用户资料存储,并且能对着时间复杂度表,判断自己写的命令在数据量翻倍时会不会拖垮服务。别急着去搜集群部署,把单机命令的底子打扎实,才是这一季唯一的正事。
课程目录
1-1 [第1章 Redis概述] Redis特征 (22:21) 1-2 [第1章 Redis概述] Redis使用场景 (06:27) 1-3 [第1章 Redis概述] Redis的Linux安装 (07:46) 1-4 [第1章 Redis概述] Redis的版本介绍 (12:39) 2-1 [Redis命令] 全局命令 (13:04) 2-2 [Redis命令] 数据类型对应的内部编码 (07:05) 2-3 [Redis命令] Redis选择单线程结构 (10:47) 3-1 [字符串类型] 单个设置和获取 (07:46) 3-2 [字符串类型] 批量设置和获取 (03:53) 3-3 [字符串类型] 自增和自减 (05:14) 3-4 [字符串类型] 字符串追加和截取操作 (06:08) 3-5 [字符串类型] 字符串命令时间复杂度 (05:01) 3-6 [字符串类型] 字符串应用场景 (14:36) 3-7 [字符串类型] 字符串内部编码 (04:41) 4-1 [哈希类型] 设置值和获取 (04:36) 4-2 [哈希类型] 批量设置和获取 (02:31) 4-3 [哈希类型] field的操作 (06:37) 4-4 [哈希类型] 哈希各个命令的时间复杂度 (03:20) 4-5 [哈希类型] 哈希内部编码 (03:36) 4-6 [哈希类型] 应用场景:当做二维表使用 (05:03)





