我构建了一个能在进程重启后继续生效的速率限制器——无需使用 Redis

发布日期:2026-06-11 10:00:53   浏览量 :2
发布日期:2026-06-11 10:00:53  
2

每当我在 Python 服务中需要速率限制时,答案总是一成不变:添加 Redis。仅仅是为了统计请求次数。
因此,我构建了 Flint。嵌入式、持久化、零基础设施依赖。
pythonimport flint

limiter = flint.Limiter(data_dir=".flint")
limiter.limit("api:user-42", rate=100, per="1m")

if limiter.allow("api:user-42"):
process_request()
计数器持久存储在 .flint/ 目录中,并在重启后依然保留。这是任何内存解决方案都无法做到的。

它的独特之处
SlowAPI 在重启后会重置状态。Redis 需要基础设施支持。nginx 仅在 HTTP 层起作用。
Flint 具有持久性、嵌入式特性,且可在任何地方运行——包括基于成本进行限制的 AI API:
pythonresult = limiter.check("ai:user-42", cost=250)
内置 FastAPI 中间件、Prometheus 导出功能、毫秒级精度以及原子性多限制检查。
核心通过 PyO3 使用 Rust 编写。令牌桶检查耗时:约 560 微秒。

bashpip install flint-limiter

GitHub:https://github.com/BuildByNexora/Flint

免责声明:本文内容来自互联网,该文观点不代表本站观点。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请到页面底部单击反馈,一经查实,本站将立刻删除。

关于我们
热门推荐
合作伙伴
免责声明:本站部分资讯来源于网络,如有侵权请及时联系客服,我们将尽快处理
Copyright © 2025-2027 ToB产业网址导航 公安备案 浙公网安备33010602013138号 浙ICP备16025413号-9
支持 反馈 订阅 数据