Skip to content

第 6 周:Redis + 缓存 + 队列 + 并发控制 ​

所属阶段:后端工程化 + 数据 + 部署(第 5–8 周)

本周目标 ​

掌握 Redis 数据结构与缓存策略(Cache-Aside / TTL / 防穿透),并用 BullMQ 消息队列、分布式锁与幂等键解决高并发下的重复提交与一致性问题。

本周日程 ​

天学习内容动手任务当日产出
Day 1Redis 基础:String/Hash/List/Set/ZSet用 ioredis 实现缓存 get/set 封装,并把第 5 周的 token 黑名单从 PG 迁移到 Rediscache.service.ts
Day 2缓存策略:Cache-Aside、TTL、穿透/击穿/雪崩给 /users 列表加缓存,设置 TTL,写空值缓存防穿透带缓存的用户列表
Day 3分布式锁:SET NX PX + Lua 脚本释放实现一个“防止重复提交”的分布式锁防重复提交中间件
Day 4BullMQ 消息队列基础:Queue/Worker/Job用 BullMQ 写一个“发送欢迎邮件”的异步任务异步邮件任务跑通
Day 5任务重试 + 延迟任务 + 定时任务配置 job 重试策略,实现一个延迟 5 分钟的任务重试 + 延迟验证
Day 6幂等性设计:唯一约束 + 幂等键为“创建订单”接口实现基于 idempotency-key 的幂等控制幂等接口
Day 7周复盘 + 整理画一张“请求进入后的缓存→锁→队列”流程图,写周记流程图 + 周记

教程进度 ​