愚公系列2022年04月 Python教學課程 73-DRF框架之限流

      網友投稿 666 2022-05-30

      一、限流

      限流類似于權限,因為它確定是否應對請求進行授權。限制指示臨時狀態,用于控制客戶端可以向 API 發出的請求速率。

      與權限一樣,可以使用多個限制。您的 API 可能對未經身份驗證的請求設置了限制性限制,對經過身份驗證的請求的限制性限制較少。

      【愚公系列】2022年04月 Python教學課程 73-DRF框架之限流

      您可能希望使用多個限制的另一種情況是,由于某些服務特別占用資源,因此您需要對 API 的不同部分施加不同的約束。

      如果要同時施加突發節流速率和持續節流速率,也可以使用多個節流閥。例如,您可能希望將用戶限制為每分鐘最多 60 個請求,每天最多 1000 個請求。

      限制不一定僅指速率限制請求。例如,存儲服務可能還需要限制帶寬,而付費數據服務可能希望限制正在訪問的一定數量的記錄。

      REST 框架提供的應用程序級限制不應被視為安全措施或針對暴力破解或拒絕服務攻擊的保護。故意的惡意行為者將始終能夠欺騙 IP 源,應用程序級限制旨在實現策略,例如不同的業務層和防止服務過度使用的基本保護。

      1.全局設置

      REST_FRAMEWORK = { 'DEFAULT_THROTTLE_CLASSES': [ 'rest_framework.throttling.AnonRateThrottle', 'rest_framework.throttling.UserRateThrottle' ], 'DEFAULT_THROTTLE_RATES': { 'anon': '100/day', 'user': '1000/day' } }

      2.視圖設置

      from rest_framework.response import Response from rest_framework.throttling import UserRateThrottle from rest_framework.views import APIView class ExampleView(APIView): throttle_classes = [UserRateThrottle] def get(self, request, format=None): content = { 'status': 'request was permitted' } return Response(content)

      3.裝飾器設置

      @api_view(['GET']) @throttle_classes([UserRateThrottle]) def example_view(request, format=None): content = { 'status': 'request was permitted' } return Response(content)

      4.裝飾器創建的路由設置限制類

      @action(detail=True, methods=["post"], throttle_classes=[UserRateThrottle]) def example_adhoc_method(request, pk=None): content = { 'status': 'request was permitted' } return Response(content)

      二、限流緩存

      REST框架提供的限制類使用Django的緩存后端。您應確保已設置適當的緩存設置。后端的默認值應該適用于簡單的設置。請參閱 Django 的緩存文檔以獲取更多詳細信息。LocMemCache

      如果需要使用 除 以外的高速緩存,可以通過創建自定義限制類并設置屬性來執行此操作。例如:

      from django.core.cache import caches class CustomAnonRateThrottle(AnonRateThrottle): cache = caches['alternate']

      API

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:【愚公系列】2022年01月 Docker容器 Docker和容器的交互
      下一篇:【愚公系列】2022年02月 微信小程序-app.json配置屬性之requiredBackgroundModes
      相關文章
      亚洲高清视频一视频二视频三| 国产精品久久亚洲不卡动漫| 亚洲人成毛片线播放| 久久亚洲国产伦理| 亚洲精品卡2卡3卡4卡5卡区| 中文字幕亚洲一区| 国产亚洲精品看片在线观看| 国产午夜亚洲精品国产成人小说| 亚洲国产午夜中文字幕精品黄网站| 337P日本欧洲亚洲大胆精品| 久久亚洲AV成人无码国产电影| 亚洲小说图区综合在线| 亚洲成aⅴ人片久青草影院按摩| 亚洲色大成WWW亚洲女子| 亚洲人成色777777老人头| 亚洲天然素人无码专区| 亚洲国产成人久久一区二区三区 | 学生妹亚洲一区二区| 亚洲精品二三区伊人久久| 国产成人亚洲合集青青草原精品| 亚洲欧洲日韩国产一区二区三区| 亚洲色欲啪啪久久WWW综合网| 亚洲精品人成网线在线播放va | 亚洲AV无码一区二区二三区软件 | 久久99国产亚洲精品观看| 亚洲一区二区三区夜色| 久久久久亚洲AV无码专区体验| 亚洲视频一区二区在线观看| 亚洲精品视频专区| 亚洲砖码砖专无区2023| 黑人粗长大战亚洲女2021国产精品成人免费视频 | 在线观看国产区亚洲一区成人 | 久久综合久久综合亚洲| 亚洲AV女人18毛片水真多| 亚洲国产成人久久精品99| 亚洲无码日韩精品第一页| 亚洲乱码国产一区三区| 亚洲午夜未满十八勿入| 亚洲午夜在线一区| 亚洲精品无码久久| 久久精品国产亚洲7777|