chore: update existing rule docs with AI output schema
This commit is contained in:
@@ -83,6 +83,10 @@ Redis 虽然快,但不当的使用会导致内存泄漏和严重的并发故
|
||||
* **防范缓存雪崩 (Cache Avalanche):** \* **问题:** 大量缓存在同一时刻集体过期,导致巨量请求瞬间全部打向数据库,击穿 DB。
|
||||
* **对策:** 在设置 TTL 时,必须**加上一个随机的抖动时间**(例如,基础过期时间 2 小时 \+ 随机 0\~300 秒)。
|
||||
* **防范缓存穿透 (Cache Penetration):** \* **问题:** 黑客恶意查询一个数据库中绝对不存在的值(如 id=-1),导致缓存永远不命中,所有请求全打到 DB。
|
||||
* **对策:** 即使数据库返回 Null,也要把这个 Null 值缓存进 Redis(设置一个较短的 TTL,如 5 分钟);或者引入布隆过滤器 (Bloom Filter) 提前拦截。
|
||||
* **防范缓存击穿 (Cache Breakdown):** \* **问题:** 某一个“极其热点”的 Key 突然过期的一瞬间,上万个并发请求发现缓存未命中,同时去查询 DB 并尝试重写缓存,导致 DB 崩溃。
|
||||
* **对策:** 使用分布式锁(如 Redisson)控制,只让一个线程去查询 DB 并重建缓存,其他线程等待;或针对极度热点的数据设置“逻辑过期”而非物理过期。
|
||||
* **对策:** 即使数据库返回 Null,也要把这个 Null 值缓存进 Redis(设置一个较短的 TTL,如 5 分钟);或者引入布隆过滤器 (Bloom Filter) 提前拦截。
|
||||
* **防范缓存击穿 (Cache Breakdown):** \* **问题:** 某一个“极其热点”的 Key 突然过期的一瞬间,上万个并发请求发现缓存未命中,同时去查询 DB 并尝试重写缓存,导致 DB 崩溃。
|
||||
* **对策:** 使用分布式锁(如 Redisson)控制,只让一个线程去查询 DB 并重建缓存,其他线程等待;或针对极度热点的数据设置“逻辑过期”而非物理过期。
|
||||
|
||||
## 🤖 [附加] AI 助手执行协议 (AI Output Schema)
|
||||
|
||||
**绝对红线**:强制输出两部分内容:1. Mermaid 格式的 ER 图;2. 包含 [表名、字段名、类型、是否为空、默认值、索引说明] 的标准 Markdown 表格。
|
||||
Reference in New Issue
Block a user