Ver código fonte

chore: format code (feat-daily-limit-bf8be15)

github-actions[bot] 3 meses atrás
pai
commit
f9272f3796
1 arquivos alterados com 12 adições e 6 exclusões
  1. 12 6
      CLAUDE.md

+ 12 - 6
CLAUDE.md

@@ -213,6 +213,7 @@ src/
 本系统使用不同的 Redis 数据结构来实现固定窗口和滚动窗口的日限额追踪。理解这些命名规范对于调试、监控和故障排查至关重要。
 
 **核心设计原则**:
+
 - 固定窗口使用 STRING 类型,支持自定义重置时间
 - 滚动窗口使用 ZSET 类型,提供精确的时间窗口计算
 
@@ -230,6 +231,7 @@ src/
 ```
 
 **特性**:
+
 - Redis 类型:STRING
 - 操作命令:INCRBYFLOAT(累加)、GET(查询)
 - Suffix 规则:重置时间去掉冒号(HH:mm → HHmm)
@@ -239,6 +241,7 @@ src/
 **为什么需要 Suffix?**
 
 不同用户可能配置不同的重置时间:
+
 - 用户 A 配置 18:00 重置 → `key:1:cost_daily_1800`
 - 用户 B 配置 00:00 重置 → `key:2:cost_daily_0000`
 
@@ -255,6 +258,7 @@ src/
 ```
 
 **特性**:
+
 - Redis 类型:ZSET(Sorted Set)
 - 操作命令:Lua 脚本(ZADD + ZREMRANGEBYSCORE + ZRANGE)
 - Suffix 规则:固定使用 `rolling`,无时间后缀
@@ -264,6 +268,7 @@ src/
 **为什么不需要 Suffix?**
 
 滚动窗口没有固定的重置时间点:
+
 - 每次查询都是"当前时间往前推 24 小时"
 - 所有用户使用相同的窗口计算逻辑
 - TTL 固定为 24 小时,无需区分重置时间
@@ -286,12 +291,12 @@ src/
 
 #### 数据结构对比
 
-| 模式     | Redis 类型 | 命名示例                    | TTL 策略          | 时间精度 | 操作复杂度 |
-|----------|------------|----------------------------|-------------------|----------|------------|
-| 固定窗口 | STRING     | `cost_daily_1800`          | 动态(到重置时间) | 分钟级   | 简单       |
-| 滚动窗口 | ZSET       | `cost_daily_rolling`       | 固定(24h)       | 毫秒级   | 中等       |
-| 5h 滚动  | ZSET       | `cost_5h_rolling`          | 固定(5h)        | 毫秒级   | 中等       |
-| 周/月    | STRING     | `cost_weekly`/`cost_monthly` | 动态(到下周期)  | 分钟级   | 简单       |
+| 模式     | Redis 类型 | 命名示例                     | TTL 策略           | 时间精度 | 操作复杂度 |
+| -------- | ---------- | ---------------------------- | ------------------ | -------- | ---------- |
+| 固定窗口 | STRING     | `cost_daily_1800`            | 动态(到重置时间) | 分钟级   | 简单       |
+| 滚动窗口 | ZSET       | `cost_daily_rolling`         | 固定(24h)        | 毫秒级   | 中等       |
+| 5h 滚动  | ZSET       | `cost_5h_rolling`            | 固定(5h)         | 毫秒级   | 中等       |
+| 周/月    | STRING     | `cost_weekly`/`cost_monthly` | 动态(到下周期)   | 分钟级   | 简单       |
 
 #### 实现细节
 
@@ -322,6 +327,7 @@ const current = await redis.eval(GET_COST_DAILY_ROLLING_WINDOW, 1, key, now, win
 ```
 
 **Lua 脚本优势**:
+
 - 原子性:查询、清理过期数据、累加在一个操作内完成
 - 精确性:基于毫秒级时间戳,避免边界问题
 - 性能:减少网络往返次数