没有Redis的烧瓶速率限制

问题描述 投票:3回答:1

我想率限制我的烧瓶API。我找到了两份文件。

一个是简单的烧瓶限制器:https://flask-limiter.readthedocs.io/en/stable/

第二是使用redis:http://flask.pocoo.org/snippets/70/

当我能够在没有Redis的情况下基于远程地址对请求进行速率限制时,Redis的意义是什么(如第一篇文档中所述)。

python flask redis rate-limiting
1个回答
9
投票

Redis允许您将速率限制状态存储在持久性存储中。

这意味着你可以:

  1. 重新启动Web服务器或Web应用程序,仍然具有速率限制功能。您不会丢失上次请求的记录,因为工作流程正在被销毁并且正在创建一个新的请求。
  2. 使用多个Web服务器或Web应用程序。这是因为速率限制状态存储在外部数据存储中,这也解决了共享数据同步和数据争用的问题。您可以根据需要运行任意数量的Web服务器 - 所有这些服务器之间共享速率限制。
  3. 看看速率限制状态。 Redis提供简单的CLI工具,允许您以临时方式查看当前活动数据,甚至监视传入的命令和请求。
  4. 让Redis管理速率限制算法的TTL,LRU等。 Redis本质上支持这一点。
© www.soinside.com 2019 - 2024. All rights reserved.