Python 烧瓶限速解决方案为什么使用Redis?

Python 烧瓶限速解决方案为什么使用Redis?,python,flask,redis,rate-limiting,Python,Flask,Redis,Rate Limiting,我想限制我的利率。我找到了两个解决方案 分机 来自Flask网站的使用Redis的片段: 当Flask Limiter能够在没有Redis的情况下根据远程地址对请求进行速率限制时,Redis的意义是什么?Redis允许您将速率限制状态存储在持久存储中 这意味着您可以: 重新启动web服务器或web应用程序后,速率限制仍然有效。您不会因为工作进程被破坏和创建新进程而丢失上次请求的记录 使用多个web服务器或web应用程序。这是因为速率限制状态存储在外部数据存储器中,该存储器还解决了共享数据同步和数

我想限制我的利率。我找到了两个解决方案

  • 分机
  • 来自Flask网站的使用Redis的片段:

  • 当Flask Limiter能够在没有Redis的情况下根据远程地址对请求进行速率限制时,Redis的意义是什么?

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

    这意味着您可以:

  • 重新启动web服务器或web应用程序后,速率限制仍然有效。您不会因为工作进程被破坏和创建新进程而丢失上次请求的记录
  • 使用多个web服务器或web应用程序。这是因为速率限制状态存储在外部数据存储器中,该存储器还解决了共享数据同步和数据竞争的问题。您可以运行任意数量的web服务器—所有服务器之间共享速率限制
  • 看看利率限制状态。Redis提供了简单的CLI工具,允许您以特殊方式查看当前活动数据,甚至监视传入的命令和请求
  • 让Redis为速率限制算法管理TTL、LRU等。Redis本质上支持这一点

  • 烧瓶限制器提供不同类型的策略。只有简单的策略“在没有Redis的远程地址的基础上”起作用。对于更复杂的,flask rate Limitor也使用Redis(或memcached)。