您现在的位置是:首页 >技术杂谈 >9.DRF组件之限流和过滤网站首页技术杂谈

9.DRF组件之限流和过滤

Automatic_tester 2023-06-06 16:00:02
简介9.DRF组件之限流和过滤

一、 限流

        DRF在高并发的情况下,为了保护服务器的稳定性,需要对API进行限流,以控制请求的流量。DRF提供了多种限流过滤器,可以根据不同的需求进行配置

常见的DRF限流过滤器包括:

  • AnonRateThrottle:匿名用户请求速率限制
  • UserRateThrottle:已登录用户请求速率限制

      这些限流过滤器可以通过在settings.py中配置REST_FRAMEWORK的DEFAULT_THROTTLE_CLASSESDEFAULT_THROTTLE_RATES来启用和配置。例如:

REST_FRAMEWORK = {
    'DEFAULT_THROTTLE_CLASSES': [
        'rest_framework.throttling.AnonRateThrottle',  # 匿名用户
        'rest_framework.throttling.UserRateThrottle',  # 已认证用户
    ],
    'DEFAULT_THROTTLE_RATES': {
        'anon': '5/second', # 匿名用户在一秒内连续超过5次后接口会返回   "detail": "Request was throttled. Expected available in 1 second."
        'user': '10/second',
    },
}

 

二、过滤

        过滤是指在 API 请求中对数据进行筛选或过滤,以返回符合条件的

风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。