Falcon的速率限制器插件
falcon-ratelimit的Python项目详细描述
猎鹰等级限制
========
Falcon的速率限制器。安装方式:
```猛击
PIP安装Falcon RateLimit
```
使用如下:
``Python
进口猎鹰
来自FalconRateLimit进口价格限制
类noredisresource(对象):
@falcon.before(速率限制(每秒=5,窗口大小=30,资源='资源名称')
def on_post(self,req,resp)设置:
…
类redisresource(对象):
@falcon.before(速率限制(redis url='localhost:6379',每秒=1,窗口大小=10))
def on_post(self,req,resp)设置:
…
```
此包通过使用“每秒”和“窗口大小”两个变量限制请求数来工作。在第一个
以上示例中,“noredisresource”类在30秒的窗口中被限制为每秒5个请求,这意味着
在30秒内有150个请求的限制。调用“rate\u limit”装饰符的默认存储是
内存列表,用于存储使用资源“resource\u name”对给定用户的请求数。
第二个示例通过传入“redis”url来存储用户请求数据,实现了使用redis的可选存储。
使用redis允许跨特定应用程序的多个实例实现速率限制。在
“redisresource”类示例允许用户在10秒内每秒发出1个请求,这意味着
在10秒内限制10个请求。由于此示例没有传入“resource”,因此使用“default”作为名称
用于请求存储。
如果未安装“redis”软件包,则与redis相关的功能将无法工作。
========
Falcon的速率限制器。安装方式:
```猛击
PIP安装Falcon RateLimit
```
使用如下:
``Python
进口猎鹰
来自FalconRateLimit进口价格限制
类noredisresource(对象):
@falcon.before(速率限制(每秒=5,窗口大小=30,资源='资源名称')
def on_post(self,req,resp)设置:
…
类redisresource(对象):
@falcon.before(速率限制(redis url='localhost:6379',每秒=1,窗口大小=10))
def on_post(self,req,resp)设置:
…
```
此包通过使用“每秒”和“窗口大小”两个变量限制请求数来工作。在第一个
以上示例中,“noredisresource”类在30秒的窗口中被限制为每秒5个请求,这意味着
在30秒内有150个请求的限制。调用“rate\u limit”装饰符的默认存储是
内存列表,用于存储使用资源“resource\u name”对给定用户的请求数。
第二个示例通过传入“redis”url来存储用户请求数据,实现了使用redis的可选存储。
使用redis允许跨特定应用程序的多个实例实现速率限制。在
“redisresource”类示例允许用户在10秒内每秒发出1个请求,这意味着
在10秒内限制10个请求。由于此示例没有传入“resource”,因此使用“default”作为名称
用于请求存储。
如果未安装“redis”软件包,则与redis相关的功能将无法工作。