Django REST framework的緩存設置

Django REST framework的緩存設置

一、概述
drf的緩存是在Django的基礎上開發的

Django 緩存說明
https://yiyibooks.cn/xx/Django_1.11.6/topics/cache.html

drf的緩存
drf源碼網址:https://github.com/chibisov/drf-extensions
drf擴展緩存官網文檔:http://chibisov.github.io/drf-extensions/docs/

本文使用CacheResponseMixin
詳細見官方文檔:http://chibisov.github.io/drf-extensions/docs/#cacheresponsemixin

第一步:在虛擬環境中,安裝drf-extensions庫;

pip install drf-extensions

第二步:引用CacheResponseMixin;

from rest_framework_extensions.cache.mixins import CacheResponseMixin

第二步:將CacheResponseMixin放到第一個位置(順序比較重要);

class BannerViewset(CacheResponseMixin, mixins.ListModelMixin, mixins.RetrieveModelMixin, mixins.CreateModelMixin, mixins.DestroyModelMixin, viewsets.GenericViewSet):
    """
    retrieve:
        獲取輪播圖詳情信息
    list:
        獲取輪播圖信息列表
    create:
        添加輪播圖信息--指定管理員
    delete:
        刪除輪播圖信息--指定管理員
    """
    queryset = Banner.objects.all().order_by("index")
    serializer_class = BannerSerializer

第三步:在setting.py文件設置緩存過期時間,如5秒;

REST_FRAMEWORK_EXTENSIONS = {
    'DEFAULT_CACHE_RESPONSE_TIMEOUT': 5
}

注意:CacheResponseMixin將默認緩存放到內存中,系統或應用程序重啓後,緩存數據就沒有了。

第四步:在瀏覽器中,按F12查看設置了緩存的接口,第一次和第二次訪問的時間。

使用建議:
個人用戶相關的數據接口不建議加緩存;
公共數據的接口可以加緩存;
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章