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查看設置了緩存的接口,第一次和第二次訪問的時間。
使用建議:
個人用戶相關的數據接口不建議加緩存;
公共數據的接口可以加緩存;