限流Throttling

Posted freedom0923

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了限流Throttling相关的知识,希望对你有一定的参考价值。

可选限流类

1) AnonRateThrottle

限制所有匿名未认证用户,使用IP区分用户。

使用DEFAULT_THROTTLE_RATES[‘anon‘] 来设置频次

2)UserRateThrottle

限制认证用户,使用User id 来区分。

使用DEFAULT_THROTTLE_RATES[‘user‘] 来设置频次

3)ScopedRateThrottle (待定...)

限制用户对于每个视图的访问频次,使用ip或user id,先找的用户id,没有设置用户id的话就会使用ip地址。
可以在配置文件中
REST_FRAMEWORK = { ‘DEFAULT_THROTTLE_CLASSES‘: ( ), ‘DEFAULT_THROTTLE_RATES‘: { ‘anon‘: ‘100/day‘, ‘user‘: ‘1000/day‘ } }
DEFAULT_THROTTLE_RATES 可以使用 second, minute, hourday来指明周期。

也可以在具体视图中通过throttle_classess属性来配置,但是要注掉settings里的‘DEFAULT_THROTTLE_CLASSES‘,如
`from rest_framework.throttling import ScopedRateThrottle
from rest_framework.views import APIView

class ExampleView(APIView):
throttle_classes = [ScopedRateThrottle ,]
throttle_scope = ‘anon‘
...`









以上是关于限流Throttling的主要内容,如果未能解决你的问题,请参考以下文章

drf 其他功能组件 - 限流-过滤-排序-分页-异常处理-生成接口文档-Xadmin

DRF框架中其他功能:认证权限限流

如何利用redis来进行分布式集群系统的限流设计

python Django Rest_Framework框架 认证权限限流功能组件详解(图文并茂版)

python Django Rest_Framework框架 认证权限限流功能组件详解(图文并茂版)

python Django Rest_Framework框架 认证权限限流功能组件详解(图文并茂版)