固定窗口限流
固定窗口限流
SET rate:user1001:202610121530 0 NX EX 60
INCR rate:user1001:202610121530
# 返回值 > 100 就拒绝(阈值按业务定)
GET rate:user1001:202610121530
TTL rate:user1001:202610121530
# 更稳的首次设置(7.0 条件参数):
EXPIRE rate:user1001:202610121530 60 NX| 窗口 | 键里带时间粒度(分钟/小时/天) |
|---|---|
| 阈值 | 按接口/用户/租户分别设 |
| 原子性 | INCR 原子;INCR+EXPIRE 两步要 Lua 或 SET NX 才完备 |
| 粒度 | 固定窗口简单但有边界效应 |
固定窗口临界问题:59 秒发满 100 次、61 秒又发满 100 次,实际 2 秒内过 200 次请求;要求严格就上滑动窗口。