• 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

  • 相关阅读:
    find
    fdisk
    falcon-eye
    ethtools
    e2fsck
    dpkg
    declare
    df
    debconf-utils
    区块链从零开始做开发(0):hyperledger Fabric2.3安装
  • 原文地址:https://www.cnblogs.com/ExMan/p/12621259.html
Copyright © 2020-2023  润新知