面试知识

Redis(远程字典服务)从基础到精通:知识图谱与复习路线

12-Redis从基础到精通 面试知识整理。

Redis(远程字典服务)从基础到精通:知识图谱与复习路线

本文件是 Redis(远程字典服务)模块的唯一导航入口,负责定义 1.4.1 至 1.4.8 的职责边界、依赖顺序、旧题迁移、版本口径、必画图、完成判定和续接方法。它不写机制长答案,也不建立章节题库;详细原理、数据演绎、项目话术和排障证据分别落到唯一分册。

1. 使用方式与范围

  • 旧题唯一来源:12-Redis从基础到精通.md
  • 正式教材目录:12-Redis从基础到精通/,按 00 至 08 编号维护。
  • 深度目标:L4(精通级),能够解释概念、设计动机、底层结构、执行顺序、复杂度、失败边界、验证证据和项目取舍。
  • 迁移原则:一道旧题只能有一个正文归属;其他分册需要使用时,只提供一句边界说明和真实相对链接。
  • 版本原则:先确认 Redis(远程字典服务)实际版本、部署形态、配置和客户端,再陈述机制;不把某一小版本或某一种部署的行为写成永久结论。
  • 过程原则:本轮减少 TDD(测试驱动开发)和逐篇独立复核,每篇只做内容审查、术语审计、图形真实渲染和空白字符检查。

2. 知识图谱与依赖

2.1 模块知识树

flowchart LR
    A["1.4 Redis(远程字典服务)精通体系"]
    subgraph L1["机制基础"]
        B["1.4.1 数据结构与命令语义"] --> C["1.4.2 事件循环与网络模型"]
    end
    subgraph L2["数据安全与高可用"]
        D["1.4.3 持久化与复制"] --> E["1.4.4 主从、哨兵与集群"]
    end
    subgraph L3["业务正确性"]
        F["1.4.5 缓存一致性与缓存问题"] --> G["1.4.6 分布式锁全景"]
    end
    subgraph L4["工程闭环"]
        H["1.4.7 延迟队列、限流与项目案例"] --> I["1.4.8 线上排障与综合题库"]
    end
    A --> B
    C --> D
    E --> F
    G --> H
    B -. "结构能力" .-> F
    C -. "延迟边界" .-> G
    E -. "故障窗口" .-> G
    E -. "拓扑证据" .-> I

这张 Mermaid(图表语法)图表达唯一依赖:数据结构和命令语义是起点;事件循环解释延迟与阻塞;持久化和复制支撑高可用;一致性与锁必须建立在部署、复制和失败窗口之上;项目案例与排障只消费前述机制,不重复维护机制正文。

2.2 一次数据请求的跨章路径

sequenceDiagram
    participant C as 客户端
    participant N as 网络与事件循环
    participant K as 键空间与数据结构
    participant P as 持久化与复制
    participant H as 高可用节点
    participant O as 可观测与排障
    C->>N: 发送命令与参数
    N->>N: 读取、解析、排队
    N->>K: 串行执行命令语义
    K-->>N: 返回结果与变更信息
    N->>P: 传播写命令
    P->>H: 日志落盘或复制偏移推进
    alt 正常写回
        N-->>C: 返回响应
    else 阻塞、复制延迟或切换
        N->>O: 暴露延迟、错误和积压信号
        O-->>C: 降级、重试或失败响应
    end

这张 Mermaid(图表语法)时序图不是承诺每条写命令都同步落盘或同步复制,而是提供定位坐标:01 解释键和值,02 解释网络与排队,03 解释落盘和复制,04 解释切换,08 根据日志、指标和命令输出确定故障发生在哪一段。

2.3 三条推荐复习路线

flowchart LR
    S["选择复习目标"]
    A1["基础复习:01 数据结构"] --> A2["02 事件循环"] --> A3["03 持久化与复制"] --> A4["04 高可用"]
    B1["原理深挖:02 阻塞模型"] --> B2["03 复制窗口"] --> B3["05 一致性"] --> B4["06 锁安全"]
    C1["项目冲刺:05 缓存治理"] --> C2["06 分布式锁"] --> C3["07 项目案例"] --> C4["08 排障与口述"]
    S --> A1
    S --> B1
    S --> C1
    A4 --> R["画图、数据演绎、口述复盘"]
    B4 --> R
    C4 --> R
  • 基础复习适合第一次建立完整主线,要求能解释一个请求从连接到响应、从内存变更到恢复的全过程。
  • 原理深挖适合准备高级追问,重点是阻塞、异步复制、故障窗口、最终一致性和锁租约的失败边界。
  • 项目冲刺适合面试前复述,重点绑定 WMS(仓储管理系统)库存防超卖、支付回调幂等、跨境物流、Runner(执行器)调度、异步任务和 IoT(物联网)报警风暴治理。

2.4 事故定位路线

flowchart TD
    A["现象:超时、错误、数据不一致或节点切换"]
    B["确认边界:版本、拓扑、客户端、变更时间"]
    C["先止血:限流、隔离、降级、切只读或回退"]
    D["采集证据:延迟、慢命令、内存、复制、集群状态"]
    E{"主要证据落在哪一层"}
    F["02 网络排队、慢命令与阻塞"]
    G["03 落盘、复制偏移与恢复"]
    H["04 哨兵、槽位与故障转移"]
    I["05 失效风暴、热键与一致性窗口"]
    J["06 租约、续期、误删与旧持有者写入"]
    K["08 根因验证、修复、回归与复盘"]
    A --> B --> C --> D --> E
    E --> F --> K
    E --> G --> K
    E --> H --> K
    E --> I --> K
    E --> J --> K

事故处理必须先记录现场、再做推断。SLOWLOG(慢查询日志)、INFO(信息统计命令)、延迟监控、客户端连接池、复制偏移、哨兵状态、集群槽位和业务幂等流水属于不同证据层,不能只凭“Redis(远程字典服务)变慢了”直接归因。

3. 01 至 08 唯一职责与依赖

编号目标文件唯一职责主要依赖禁止重复维护
1.4.101-数据结构命令语义.md对象、底层编码、数据类型、命令原子性、事务、Lua(脚本语言)、管道和流。无,模块机制起点。事件循环、高可用和锁全景。
1.4.202-事件循环与网络模型.md请求生命周期、I/O(输入输出)多路复用、线程边界、阻塞源与尾延迟。1.4.1 的命令复杂度。持久化文件和故障转移细节。
1.4.303-持久化与复制.mdRDB(快照持久化)、AOF(追加日志)、恢复、全量复制与部分重同步。1.4.1、1.4.2。哨兵选主、槽路由和锁实现。
1.4.404-主从哨兵与集群.md单机、主从、哨兵、集群选型,故障转移、脑裂、槽路由和扩缩容。1.4.3 的复制语义。持久化文件格式和业务锁正文。
1.4.505-缓存一致性与缓存问题.mdCache Aside(旁路缓存)、穿透、击穿、雪崩、过期淘汰、热键与大键治理。1.4.1、1.4.2、1.4.4。把锁作为一致性的唯一方案。
1.4.606-分布式锁全景.mdJVM(Java 虚拟机)锁对比、租约、Lua(脚本语言)解锁、Redisson(Redis 客户端)、RedLock(红锁)与 Fencing Token(栅栏令牌)。1.4.2、1.4.3、1.4.4。库存和支付的完整项目复盘。
1.4.707-延迟队列限流与项目案例.mdZSet(有序集合)延迟任务、限流、统计、容量、降级和项目话术。1.4.1、1.4.5、1.4.6。通用排障树和跨章综合题。
1.4.808-线上排障与综合题库.md证据链、止血、复盘,以及 10.1 至 10.25 和新增跨章节长答案。1.4.1 至 1.4.7。复制前序教材正文。

推荐顺序是 01、02、03、04、05、06、07、08。若只准备项目面试,至少先完成 01、02、04,再读 05、06、07、08;跳过复制和部署边界会导致缓存一致性与分布式锁答案只剩理想路径。

4. 旧主文档迁移基线

4.1 计数口径

基线对象数量构成迁移规则
回答思路字段8622 个知识小节各 3 道,共 66 道;10.6 至 10.25 共 20 道。每组只登记一个目标正文,全部改写为针对性答案。
章节级热门题区223.1 至 9.3 的 22 个知识小节。归入 01 至 08 的唯一知识主题。
模块综合题2510.1 至 10.25;其中 10.1 至 10.5 没有 回答思路字段。全部归入 08,链接前序机制详情。
旧 Mermaid(图表语法)图10旧图只作为图意参考。新分册重画并真实渲染,不直接计为合格资产。
口述答案字段0旧主文档未形成长口述答案。08 从零建立综合长答案与追问树。

基线只回答“旧内容有没有唯一去向”,不代表新教材的题量上限。新增题必须使用新编号并注明“新增”,不得伪装成旧题迁移。

4.2 86 组旧题逐项迁移登记

状态统一为“待迁移”;目标文件完成、单文件审计通过且详细答案可追溯后,才改为“已迁移”。Q001 至 Q066 是章节题,Q067 至 Q086 是 10.6 至 10.25 的综合补强题。

迁移号旧题编号或首句唯一目标文件目标知识小节状态
Q0013.1 基础:Redis(远程字典服务)为什么快解决什么问题02请求生命周期与性能来源待迁移
Q0023.1 原理:Redis(远程字典服务)为什么快如何工作02事件循环、串行执行与延迟待迁移
Q0033.1 项目:高性能机制如何设计兜底02阻塞边界与容量验证待迁移
Q0043.2 基础:常用数据类型和底层结构解决什么问题01数据类型与对象编码待迁移
Q0053.2 原理:常用数据类型底层如何工作01SDS(简单动态字符串)、字典与组合结构待迁移
Q0063.2 项目:数据结构使用不当如何兜底01选型、复杂度与容量待迁移
Q0073.3 基础:单线程模型与 I/O(输入输出)多路复用解决什么问题02单线程边界待迁移
Q0083.3 原理:事件循环底层如何工作02文件事件、时间事件与网络线程待迁移
Q0093.3 项目:网络抖动和慢命令如何兜底02队头阻塞与尾延迟待迁移
Q0104.1 基础:过期删除解决什么问题05过期字典与删除策略待迁移
Q0114.1 原理:过期删除底层如何工作05惰性删除、定期删除与淘汰待迁移
Q0124.1 项目:过期集中触发如何兜底05雪崩、抖动与容量保护待迁移
Q0134.2 基础:RDB(快照持久化)解决什么问题03快照语义与恢复目标待迁移
Q0144.2 原理:RDB(快照持久化)底层如何工作03派生进程、COW(写时复制)与文件替换待迁移
Q0154.2 项目:快照期间资源压力如何兜底03内存峰值与恢复演练待迁移
Q0164.3 基础:AOF(追加日志)解决什么问题03写后日志与持久化策略待迁移
Q0174.3 原理:AOF(追加日志)底层如何工作03缓冲、刷盘和重写待迁移
Q0184.3 项目:日志膨胀或刷盘抖动如何兜底03重写窗口与恢复验证待迁移
Q0194.4 基础:主从复制解决什么问题03复制目标与异步边界待迁移
Q0204.4 原理:主从复制底层如何工作03全量同步、部分重同步与偏移量待迁移
Q0214.4 项目:复制中断和积压不足如何兜底03重连、积压区与容量待迁移
Q0225.1 基础:哨兵架构解决什么问题04监控、通知和故障转移待迁移
Q0235.1 原理:哨兵架构底层如何工作04主观下线、客观下线与选主待迁移
Q0245.1 项目:误判和切换期间如何兜底04仲裁、客户端刷新与数据窗口待迁移
Q0255.2 基础:集群架构解决什么问题04分片与可用性边界待迁移
Q0265.2 原理:集群路由底层如何工作04哈希槽、重定向与迁移待迁移
Q0275.2 项目:扩缩容和多键操作如何兜底04槽迁移、哈希标签与热点待迁移
Q0285.3 基础:缓存问题治理解决什么问题05穿透、击穿与雪崩边界待迁移
Q0295.3 原理:缓存异常底层如何形成05失效窗口、回源和并发放大待迁移
Q0305.3 项目:缓存故障如何降级和恢复05限流、隔离、预热与回填待迁移
Q0316.1 基础:主从、哨兵、集群如何选04部署形态对比待迁移
Q0326.1 原理:三种形态如何工作04复制、选主、分片与故障窗口待迁移
Q0336.1 项目:拓扑故障如何设计兜底04RTO(恢复时间目标)与 RPO(恢复点目标)待迁移
Q0346.2 基础:Redis(远程字典服务)锁方案如何选06锁能力与安全属性待迁移
Q0356.2 原理:不同锁方案底层如何工作06租约、所有权、续期和多数派待迁移
Q0366.2 项目:锁故障如何由业务幂等兜底06Fencing Token(栅栏令牌)与数据库约束待迁移
Q0377.1 基础:SET NX PX(不存在才设置并带毫秒过期时间)锁解决什么问题06原子加锁与租约待迁移
Q0387.1 原理:原子锁如何加锁和解锁06唯一值、Lua(脚本语言)与误删边界待迁移
Q0397.1 项目:锁过期和客户端宕机如何兜底06期限估算、超时和幂等待迁移
Q0407.2 基础:Redisson(Redis 客户端)看门狗解决什么问题06自动续期适用边界待迁移
Q0417.2 原理:看门狗如何调度续期06锁结构、续期任务与重入待迁移
Q0427.2 项目:暂停和续期失败如何兜底06租约失效与旧持有者隔离待迁移
Q0437.3 基础:主从切换为什么可能丢锁06异步复制安全窗口待迁移
Q0447.3 原理:锁丢失时间线如何形成06写入、未复制、主节点故障和提升待迁移
Q0457.3 项目:双持有者如何避免破坏资源06栅栏、版本检查和最终兜底待迁移
Q0467.4 基础:ZSet(有序集合)延迟队列解决什么问题07到期排序与轮询待迁移
Q0477.4 原理:延迟任务领取如何工作07分值、原子领取与并发消费待迁移
Q0487.4 项目:任务不丢不重如何兜底07幂等、重试、死信和补偿待迁移
Q0498.1 基础:慢查询如何识别08延迟现象与证据入口待迁移
Q0508.1 原理:慢命令如何阻塞后续请求08排队、执行时间与网络写回待迁移
Q0518.1 项目:线上慢查询如何止血和复盘08采证、隔离、修复与回归待迁移
Q0528.2 基础:穿透、击穿、雪崩如何区分05三类缓存故障定义待迁移
Q0538.2 原理:三类故障如何放大回源05请求分布、失效时刻与数据库压力待迁移
Q0548.2 项目:缓存大面积失效如何兜底05互斥回填、随机过期、限流与降级待迁移
Q0558.3 基础:分布式锁排查先看什么08锁故障症状与证据待迁移
Q0568.3 原理:锁超时、误删和双持有如何定位08时间线、所有权与切换证据待迁移
Q0578.3 项目:锁事故如何恢复和复盘08止血、数据修复与防复发待迁移
Q0589.1 基础:库存防超卖话术如何组织07库存并发控制主线待迁移
Q0599.1 原理:库存扣减和兜底如何工作07原子预扣、数据库版本和补偿待迁移
Q0609.1 项目:服务重启时库存如何不乱07幂等流水、重试与对账待迁移
Q0619.2 基础:支付回调幂等话术如何组织07回调重复与状态机待迁移
Q0629.2 原理:回调去重和状态推进如何工作07业务唯一键、事务和消息补偿待迁移
Q0639.2 项目:渠道超时和乱序如何兜底07验签、查询、重放保护与对账待迁移
Q0649.3 基础:ZSet(有序集合)延迟队列话术如何组织07延迟任务项目表达待迁移
Q0659.3 原理:任务调度和状态推进如何工作07到期扫描、领取、执行和确认待迁移
Q0669.3 项目:重启、超时和重复执行如何兜底07幂等、补偿和告警待迁移
Q06710.6 Redis(远程字典服务)为什么单线程还能高性能08性能主线综合题待迁移
Q06810.7 SDS(简单动态字符串)相比 C(编程语言)字符串有什么优势08数据结构综合题待迁移
Q06910.8 字典如何渐进式 rehash(重新哈希)08数据结构综合题待迁移
Q07010.9 跳表为什么适合 ZSet(有序集合)08数据结构综合题待迁移
Q07110.10 RDB(快照持久化)和 AOF(追加日志)怎么取舍08持久化综合题待迁移
Q07210.11 AOF(追加日志)重写会不会阻塞主线程08持久化综合题待迁移
Q07310.12 主从复制为什么可能丢锁08复制与锁综合题待迁移
Q07410.13 哨兵主观下线和客观下线有什么区别08哨兵综合题待迁移
Q07510.14 Redis Cluster(Redis 集群)的 MOVED(迁移中标记)和 ASK(临时重定向)有什么区别08集群综合题待迁移
Q07610.15 缓存穿透、击穿、雪崩分别怎么治理08缓存治理综合题待迁移
Q07710.16 Cache Aside(旁路缓存)如何保证最终一致性08一致性综合题待迁移
Q07810.17 延迟双删有什么问题08一致性综合题待迁移
Q07910.18 Redis(远程字典服务)事务为什么不支持回滚08命令语义综合题待迁移
Q08010.19 Pipeline(管道)和事务有什么区别08批处理语义综合题待迁移
Q08110.20 Stream(流)和 ZSet(有序集合)延迟队列怎么选08消息与调度综合题待迁移
Q08210.21 Redisson(Redis 客户端)看门狗如何续期08锁续期综合题待迁移
Q08310.22 RedLock(红锁)的安全假设是什么08多节点锁综合题待迁移
Q08410.23 big key(大键)如何排查和拆分08容量排障综合题待迁移
Q08510.24 hot key(热键)如何治理08热点排障综合题待迁移
Q08610.25 Redis(远程字典服务)锁如何与 MySQL(关系型数据库)幂等兜底08锁与业务一致性综合题待迁移

4.3 10.1 至 10.25 综合题独立登记

综合题正文全部只在 08 维护;01 至 07 提供机制详情。10.1 至 10.5 虽不在 86 组“回答思路”基线中,仍是必须迁移的旧题。

综合号旧题主题唯一正文主要详情分册对应迁移号状态
10.1Redis(远程字典服务)为什么单线程还快0802不计入 86待迁移
10.2分布式锁为什么要设置过期时间0806不计入 86待迁移
10.3为什么解锁要用 Lua(脚本语言)0806不计入 86待迁移
10.4RedLock(红锁)安全吗0806不计入 86待迁移
10.5Redis Cluster(Redis 集群)多 key(键)操作有什么限制0804不计入 86待迁移
10.6Redis(远程字典服务)为什么单线程还能高性能0802Q067待迁移
10.7SDS(简单动态字符串)相比 C(编程语言)字符串有什么优势0801Q068待迁移
10.8字典如何渐进式 rehash(重新哈希)0801Q069待迁移
10.9跳表为什么适合 ZSet(有序集合)0801Q070待迁移
10.10RDB(快照持久化)和 AOF(追加日志)怎么取舍0803Q071待迁移
10.11AOF(追加日志)重写会不会阻塞主线程0803Q072待迁移
10.12主从复制为什么可能丢锁0803、06Q073待迁移
10.13哨兵主观下线和客观下线有什么区别0804Q074待迁移
10.14MOVED(迁移中标记)和 ASK(临时重定向)有什么区别0804Q075待迁移
10.15缓存穿透、击穿、雪崩分别怎么治理0805Q076待迁移
10.16Cache Aside(旁路缓存)如何保证最终一致性0805Q077待迁移
10.17延迟双删有什么问题0805Q078待迁移
10.18Redis(远程字典服务)事务为什么不支持回滚0801Q079待迁移
10.19Pipeline(管道)和事务有什么区别0801Q080待迁移
10.20Stream(流)和 ZSet(有序集合)延迟队列怎么选0801、07Q081待迁移
10.21Redisson(Redis 客户端)看门狗如何续期0806Q082待迁移
10.22RedLock(红锁)的安全假设是什么0806Q083待迁移
10.23big key(大键)如何排查和拆分0805、08Q084待迁移
10.24hot key(热键)如何治理0805、08Q085待迁移
10.25Redis(远程字典服务)锁如何与 MySQL(关系型数据库)幂等兜底0806、07Q086待迁移

协议语义要单独记住:MOVED(迁移中标记)响应表示该槽当前已经由目标节点负责,客户端应更新槽缓存;ASK(临时重定向)响应表示槽迁移尚未完成,客户端只对当前请求临时访问目标节点,不能据此永久改写槽所有权。

5. Redis(远程字典服务)6、7、8 版本表述边界

教材以“生产常见机制主线 + 版本差异侧栏”组织,不把最新能力倒推成旧版本行为,也不把计划编写日看到的版本号写成永久事实。

版本层教材定位可以稳定表达的范围必须带条件表达的主题
Redis(远程字典服务)6.2传统生产基线内存数据结构、串行命令执行、主从、哨兵、集群和常见缓存模式。多线程网络 I/O(输入输出)的启用配置与边界、ACL(访问控制列表)、RESP3(Redis 序列化协议第三版)和客户端缓存均按实际配置验证。
Redis(远程字典服务)7.x现代核心主线生产常见的数据、复制、高可用和缓存机制继续作为主线。多部分 AOF(追加日志)、函数、命令和配置变化要注明 7.0、7.2、7.4 等实际小版本,不能只写“7.x 都如此”。
Redis(远程字典服务)8.x新能力与兼容差异层作为版本差异和延伸阅读,不取代基础机制。新数据能力、统一发行形态、性能变化和后续小版本特性必须按官方文档与实际部署核对,不能倒推为 6.2 或 7.x 行为。
当前稳定系列动态事实只记录核对日期和官方来源。新对话继续时重新核对;使用“截至核对日期的稳定系列”而不是“永久最新版本”。

统一表达模板:

  1. 先说适用版本与部署形态,例如“以下以 Redis(远程字典服务)7.x 的单主复制为讨论边界”。
  2. 再说默认值是否受配置、小版本、操作系统和客户端影响。
  3. 对当前版本、弃用项和新增能力,只引用 Redis(远程字典服务)官方发布说明、命令文档和配置样例;Redisson(Redis 客户端)行为再核对其官方文档或源码。
  4. 无法当场核实的动态事实写成待核对项,不用“始终”“一定”“完全不会”等绝对句式。

6. 必画图与资产归属

图形主题唯一归属图形形式必须表达的结论
对象编码与命令语义01Mermaid(图表语法)流程图逻辑类型、对象编码、升级条件和复杂度。
渐进式 rehash(重新哈希)01Mermaid(图表语法)状态图双表、迁移索引、读写路径和完成条件。
请求生命周期与事件循环02Mermaid(图表语法)时序图读取、解析、执行、传播、缓冲和写回。
队头阻塞与尾延迟02Mermaid(图表语法)时序图一个慢命令如何放大后续请求延迟。
RDB(快照持久化)与 COW(写时复制)03Mermaid(图表语法)流程图派生进程、页复制、内存峰值和文件替换。
AOF(追加日志)写入与重写03Mermaid(图表语法)流程图缓冲、刷盘、重写增量和恢复顺序。
部分重同步03Mermaid(图表语法)时序图复制标识、偏移量、积压区命中与全量退化。
哨兵选主04Mermaid(图表语法)时序图主观下线、客观下线、领导者选举和从节点提升。
哈希槽路由与迁移04PlantUML(开源建模工具)图及 PNG(便携式网络图形)槽所有权、迁移中状态、永久重定向与临时重定向。
Cache Aside(旁路缓存)并发窗口05Mermaid(图表语法)时序图读写交错如何产生旧值回填,以及如何补偿。
穿透、击穿、雪崩05Mermaid(图表语法)对比图触发条件、放大路径、治理措施和失败边界。
锁租约与原子解锁06Mermaid(图表语法)时序图所有权、过期、Lua(脚本语言)比较删除和误删边界。
Redisson(Redis 客户端)看门狗06Mermaid(图表语法)流程图续期调度、暂停、失败和释放。
Fencing Token(栅栏令牌)06Mermaid(图表语法)时序图旧持有者恢复后为何仍不能写入受保护资源。
RedLock(红锁)假设与失败窗口06PlantUML(开源建模工具)图及 PNG(便携式网络图形)多数派、耗时扣减、时钟和网络假设。
ZSet(有序集合)延迟任务07Mermaid(图表语法)时序图到期扫描、原子领取、幂等执行、重试和死信。
项目数据链07Mermaid(图表语法)架构图WMS(仓储管理系统)、支付、跨境物流和异步任务的上下游边界。
排障决策树08Mermaid(图表语法)流程图现象、止血、取证、根因、修复验证和复盘。

图的数量不是完成标准。每张图都要回答一个具体问题,正文必须再次陈述图中的精确结论;图片不能是唯一信息源。Mermaid(图表语法)图必须真实渲染,PlantUML(开源建模工具)图必须同时保留源文件和非空 PNG(便携式网络图形)。

7. 完成判定与轻量验收

7.1 分册完成判定

  1. 01 至 07 达到计划规定的知识小节、六字段章节题、综合长答案、图、表和数据演绎下限;08 达到排障专题和跨章节长答案下限。
  2. 每个知识小节都含 kb:knowledge 知识标记和至少 3 道完整题;每题包含问题、考点、回答思路、详细答案、进阶追问和进阶回答。
  3. 综合题每题只有一个 口述答案字段,答案能覆盖机制、失败边界、项目落地和验证方式,并链接真实分册。
  4. 英文技术词每次附中文含义;代码、命令、配置和路径可放在代码格式中,并在相邻正文解释用途。
  5. 图真实渲染,表格可读,数据演绎含具体键、值、时点、偏移量、槽位、租约或容量数字。

7.2 模块完成判定

整个 1.4 模块只有同时满足以下条件,才能更新成稿看板为“已完成”:

  • Q001 至 Q086 全部从“待迁移”变为“已迁移”,且每题只有一个正文归属。
  • 10.1 至 10.25 全部进入 08,综合长答案链接到 01 至 07 的真实详情位置。
  • 01 至 08 的职责不交叉;重复内容已改为链接,新增题和迁移题能分开统计。
  • 第 6 节的必画图全部存在且渲染成功,图中结论与正文一致。
  • WMS(仓储管理系统)库存、支付回调、跨境物流、Runner(执行器)调度、异步任务、ZSet(有序集合)延迟队列和 IoT(物联网)报警风暴都有可复述案例。
  • 单文件审计和全模块审计均为 0,所有相对链接有效,无占位答案和空白字符错误。

7.3 每篇轻量验收

本轮不做逐篇 TDD(测试驱动开发)和独立评审。每篇完成后只执行四项门禁:

  1. 人工抽查概念、机制、失败边界、项目落地和数据演绎是否完整。
  2. 调用 audit_file(单文件审计函数)检查结构、术语、链接、围栏和占位文本。
  3. 使用 Mermaid(图表语法)CLI(命令行界面)真实渲染全部 Mermaid(图表语法)代码块;需要 PlantUML(开源建模工具)时,同时渲染并检查 PNG(便携式网络图形)非空。
  4. 执行 git diff --check 检查空白字符,不提交或回退用户的其他修改。

本入口的定向审计命令如下,避免按同名“知识图谱与复习路线”误匹配其他模块:

python3 - <<'PY'
from pathlib import Path
from tools.interview_kb_audit import audit_file, load_terminology

root = Path("面试知识整理")
target = root / "12-Redis从基础到精通/00-知识图谱与复习路线.md"
terms = load_terminology(root / "04-英文术语标注规范.md")
issues = audit_file(target, terms)
for issue in issues:
    print(f"{issue.path}:{issue.line}: [{issue.code}] {issue.message}")
raise SystemExit(1 if issues else 0)
PY

8. 新对话恢复说明

  1. 先读取 AGENTS.md 指定的 OpenSpec(规格驱动框架)文件和 面试知识整理/00-项目说明-续接必读.md03-成稿进度看板.md04-英文术语标注规范.md05-查漏补全-精通级补强计划.md06-审查报告与明日学习路线.md08-精通级扩展执行看板.md
  2. 再读取本入口、旧主文档和 docs/superpowers/plans/2026-07-14-interview-knowledge-base-module-03-redis-plan.md,核对第 4 节的 86 组迁移基线与 25 道综合题基线。
  3. 从 01 至 08 中选择编号最小的未完成分册;只修改获授权分册及其专属资产,不回写旧主文档,不复制其他分册正文。
  4. 写作前先读本入口第 3、5、6 节,确认职责、版本和图形归属;写完只做第 7.3 节的轻量验收。
  5. 分册通过后更新执行看板的对应子项;只有 01 至 08 全部通过并完成第 7.2 节验收,才更新成稿进度看板。
  6. 若审计失败,从编号最小的未完成分册继续修复;若版本事实不确定,记录核对日期和来源,不用未经验证的绝对结论填补空白。

9. 本入口交付检查

  • 已登记 86 组旧题,并给出唯一目标文件、知识小节和迁移状态。
  • 已独立登记 10.1 至 10.25 共 25 道综合题。
  • 已定义 01 至 08 唯一职责、依赖和三条复习路线。
  • 已说明 Redis(远程字典服务)6.2、7.x、8.x 的版本表述边界。
  • 已列出必画图、资产归属和正文复述要求。
  • 已写明分册完成、模块完成、新对话恢复和轻量验收方式。
  • 已提供知识树、数据路径、学习路线和事故定位共 4 张 Mermaid(图表语法)图。