当设计或修改 REST API 响应结构、处理 API 返回值时触发。防止 API 设计缺陷导致的字段错位、类型歧义等问题。
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
当用户操作 Redis 相关代码(go-redis、Jedis、redis-py、ioredis)时触发。提供 Redis 安全与性能规范。
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.
防止 Redis 常见性能和稳定性问题,适用于所有语言。
| 禁止 | 替代 | 原因 |
|---|---|---|
KEYS * / KEYS pattern | SCAN 游标迭代 | KEYS 是 O(N) 阻塞操作,生产环境会导致 Redis 卡死 |
FLUSHDB / FLUSHALL | 按 key 前缀 SCAN + DEL | 全量删除风险极高 |
| 无 TTL 的 SET | 所有 key 必须设置 TTL | 避免内存泄漏 |
// Go (go-redis) ❌
keys, _ := rdb.Keys(ctx, "user:*").Result()
// Go (go-redis) ✅
var cursor uint64
for {
keys, cursor, _ = rdb.Scan(ctx, cursor, "user:*", 100).Result()
// 处理 keys
if cursor == 0 { break }
}
// Java (Jedis) ❌
Set<String> keys = jedis.keys("user:*");
// Java (Jedis) ✅
ScanParams params = new ScanParams().match("user:*").count(100);
String cursor = "0";
do {
ScanResult<String> result = jedis.scan(cursor, params);
// 处理 result.getResult()
cursor = result.getCursor();
} while (!cursor.equals("0"));
# Python (redis-py) ❌
keys = r.keys("user:*")
# Python (redis-py) ✅
for key in r.scan_iter(match="user:*", count=100):
# 处理 key
多次 Redis 调用应使用 Pipeline 减少网络往返:
// ❌ 循环单次调用
for _, id := range ids {
rdb.Get(ctx, "user:"+id)
}
// ✅ Pipeline 批量
pipe := rdb.Pipeline()
for _, id := range ids {
pipe.Get(ctx, "user:"+id)
}
pipe.Exec(ctx)
// ❌
rdb.Set(ctx, "token:123", value, 0)
// ✅
rdb.Set(ctx, "token:123", value, 24*time.Hour)
아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.
로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.
아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.
当设计或修改 REST API 响应结构、处理 API 返回值时触发。防止 API 设计缺陷导致的字段错位、类型歧义等问题。
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
当设计或修改 REST API 响应结构、处理 API 返回值,或生成 Excel/CSV/PDF/对账文件等下游产物时触发。防止 API 设计缺陷导致的字段错位、类型歧义,以及生成产物时关键字段缺失但静默成功的问题。
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
网关/代理/WAF/CDN 中间件的安全关键词匹配实现规范,防止纯子串匹配误判正常响应内容中的技术术语(如 Cloudflare、502、error)
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
当 API/任务可能执行超过 10 秒(批量数据处理、远程 API 批量调用、全表扫描、跨租户聚合)时触发。防止同步接口被网关 30s 超时切断、用户重复点击触发并发、状态缓存内存泄漏等问题。提供异步任务状态机标准模板。
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
当用户操作 .sh、Dockerfile、Makefile、.yml、.yaml 文件,或在 Markdown 中编写 bash 代码块时触发。提供 Bash 编写规范。
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
Bash 脚本与系统命令规范。禁止行尾注释,强制使用 tee/heredoc 写入,提升命令执行的可维护性。
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.