zoukankan      html  css  js  c++  java
  • django中限流Throttling

    目的:可以对接口访问的频次进行限制,减少服务器压力

    使用:

    可以进行全局配置

    REST_FRAMEWORK = {
    'DEFAULT_THROTTLE_CLASSES': (
    'rest_framework.throttling.AnonRateThrottle', # 未登录用户
    'rest_framework.throttling.UserRateThrottle' #登录用户
    ),
    'DEFAULT_THROTTLE_RATES': {
    'anon': '100/day', # 未登录用户 每天100次
    'user': '1000/day' # 登录用户每天1000次
    }
    }
    DEFAULT_THROTTLE_RATES 可以使用 second, minute, hour 或day来指明周期。

    二、指明指定视图的访问频次

    class ContactListView(APIView):
    throttle_scope = 'contacts'
    ...

    class ContactDetailView(APIView):
    throttle_scope = 'contacts'
    ...

    class UploadView(APIView):
    throttle_scope = 'uploads'
    ...
    REST_FRAMEWORK = {
    'DEFAULT_THROTTLE_CLASSES': (
    'rest_framework.throttling.ScopedRateThrottle',
    ),
    'DEFAULT_THROTTLE_RATES': {
    'contacts': '1000/day',
    'uploads': '20/day'
    }
    }
     
    ————————————————
    版权声明:本文为CSDN博主「以梦为马越骑越傻」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/weixin_42670402/java/article/details/86608158

  • 相关阅读:
    Promise对象
    iterator和for of 循环
    vue项目基本流程
    BASH_SOURCE 用法
    Java GC CMS 日志分析
    zookeeper 删除snapshot和transaction log的源码解读
    openresty nginx 安装过程记录
    opentesty--luasocket 安装
    为什么要使用SLF4J而不是Log4J
    要过一遍的博客列表
  • 原文地址:https://www.cnblogs.com/ExMan/p/12621259.html
Copyright © 2011-2022 走看看