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相关的功能将无法工作。




欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
使用概要文件后找不到java bean不确定原因   多线程如果信号量锁获取/tryAcquire失败,如何使Java线程执行不同的任务而不是阻塞?   java编译器在同一目录中找不到其他类   在Java中,如何检查表示时间戳的字符串是否为有效日期?   java Commons vfs FindFile虚拟文件   TomcatJava。util。计时器空指针异常   java是在Oracle和Vertica之间移动数据的有效方法   java Adobe Acrobat Reader无法打开pdf文件,因为该文件不是受支持的文件类型,或者该文件已损坏   java使用usb驱动程序libusb、usb4java ecc。。为什么它如此不受支持?   java如何在第二列或特定列中插入jface TreeViewer?   java通过internet发送对象并调用其方法   带超声波传感器的Esp32Cam   java Cassandra分页问题最后一页的分页状态不正确   Java/WildFly/MongoDB/JAAS身份验证始终返回403禁止