码迷,mamicode.com
首页 > 其他好文 > 详细

限流Throttling

时间:2020-06-03 10:40:23      阅读:68      评论:0      收藏:0      [点我收藏+]

标签:user   efault   视图   rom   default   使用   配置文件   文件中   区分   

可选限流类

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

标签:user   efault   视图   rom   default   使用   配置文件   文件中   区分   

原文地址:https://www.cnblogs.com/freedom0923/p/13032157.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!