You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flask-limiter如何查找其存储在Redis中的key名称

Flask-Limiter Redis 限流Key查询与清除方案

一、默认存储Key结构

Flask-Limiter 底层依赖limits库实现限流存储,Redis中默认的Key结构如下:
{key_prefix}/{namespace}/{custom_rate_key}/{window_end_ts}
各字段含义:

  • key_prefix:初始化Limiter时通过key_prefix参数指定的值,默认是flask-limiter
  • namespace:Redis存储的全局命名空间,未单独配置时默认是limits
  • custom_rate_key:你按用户维度限流时,自定义key生成函数返回的用户唯一标识(比如用户ID)
  • window_end_ts:当前限流窗口的结束时间戳,单位为秒

二、快速定位对应用户的限流Key

  • 直接在Redis中执行模糊匹配即可检索到指定用户的所有限流Key,示例命令:
    KEYS *<目标用户唯一标识>*

注意:生产环境大Key场景下不要使用KEYS命令,建议用SCAN命令渐进式遍历匹配

  • 也可以通过代码直接打印匹配规则,示例:
# 基于你已初始化的limiter实例
user_id = "要清除限流的用户ID"
match_pattern = f"{limiter._key_prefix}/{limiter._storage.namespace}/{user_id}/*"
print(f"目标用户限流Key匹配规则:{match_pattern}")

三、清除指定用户的限流Key

调用limits.storage的clear方法时,只需传入不带时间戳的前缀即可,方法会自动匹配清除该前缀下所有时间窗口的限流Key,示例:

# 前缀结构为 {key_prefix}/{namespace}/{custom_rate_key}
clear_key = f"{limiter._key_prefix}/{limiter._storage.namespace}/{user_id}"
limiter._storage.clear(clear_key)

内容的提问来源于stack exchange,提问作者Avid

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 03:51:04