05-02-Redis-第5阶段验收清单
发表于|更新于
|总字数:546|阅读时长:1分钟|浏览量:
第 5 阶段验收清单
1. 客户端接入
- 能说明 Lettuce、Jedis、Redisson 的定位差异。
- 能写出单机 Redis 的 Spring Boot 配置。
- 能写出 Sentinel 模式配置,并解释
master名称的作用。 - 能写出 Cluster 模式配置,并解释 seed nodes、
max-redirects、拓扑刷新的意义。 - 能说明为什么生产环境不能写死 Redis master IP。
- 能说明 Cluster 场景下
MOVED、ASK、CROSSSLOT对 Java 客户端意味着什么。
2. 连接池与超时
- 能解释连接池过小会造成什么现象。
- 能解释连接池过大会带来什么风险。
- 能根据业务链路预算设置 Redis 命令超时。
- 能说明哪些请求可以重试,哪些请求不能盲目重试。
- 能在 Redis 抖动时给出降级或失败策略。
3. 缓存架构
- 能画出 Cache Aside 的读写流程。
- 能解释为什么常见做法是写数据库后删除缓存。
- 能说明缓存穿透、缓存击穿、缓存雪崩的区别。
- 能实现空值缓存防穿透。
- 能实现热点 key 互斥重建防击穿。
- 能实现 TTL 随机化降低雪崩风险。
- 能说明缓存一致性方案的边界。
4. 分布式锁
- 能用
SET key value NX PX ttl获取锁。 - 能用 Lua 比较 token 后释放锁。
- 能说明锁 TTL 过短和过长的风险。
- 能说明 Redis 分布式锁不能替代数据库事务。
- 能说明 Redisson 的优势和边界。
5. Lua、Pipeline 与业务场景
- 能用 Lua 实现库存原子扣减。
- 能说明 Lua 为什么不能写长循环或复杂逻辑。
- 能用 Pipeline 批量写入或读取 key。
- 能说明 Pipeline 不保证原子性。
- 能用 ZSet 实现排行榜。
- 能用 Redis 实现固定窗口限流。
- 能用 Redis 实现请求幂等。
6. 本项目代码验收
-
POST /api/redis/scenarios/run-all能正常执行。 - 能在 Redis 中看到
learn:redis:*命名空间下的实验 key。 - 能说明每一类 key 的业务含义和 TTL 策略。
- 能通过日志或接口返回解释每个实验的结果。
- 能清理实验 key,避免学习环境长期堆积无用数据。
