我想限制我的 Flask API 的速率。我找到了2个解决方案。
- The 烧瓶限制器 https://flask-limiter.readthedocs.io/en/stable/扩大。
- 使用 Redis 的 Flask 网站的片段:http://flask.pocoo.org/snippets/70/ http://flask.pocoo.org/snippets/70/
当 Flask-Limiter 能够在没有 Redis 的情况下根据远程地址对请求进行速率限制时,Redis 的意义是什么?
Redis 允许您将速率限制状态存储在持久存储中。
这意味着您可以:
- 重新启动您的 Web 服务器或 Web 应用程序,速率限制仍然有效。您不会因为工作进程被销毁并创建新进程而丢失最后发出的请求的记录。
- 使用多个 Web 服务器或 Web 应用程序。这是因为速率限制状态存储在外部数据存储中,这也解决了共享数据同步和数据竞争的问题。您可以根据需要运行任意数量的 Web 服务器 - 速率限制在所有服务器之间共享。
- 查看速率限制状态。 Redis 提供简单的 CLI 工具,允许您以临时方式查看当前活动数据,甚至监视传入的命令和请求。
- 让 Redis 管理 TTL、LRU 等限速算法。 Redis 本质上支持这一点。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)