Django 緩存模式的使用(主要針對RestFul設計模式的項目)
有三種模式:
- 全站使用緩存模式(整個項目每個接口都會使用緩存,缺點:所以接口都無法實時性獲取數據)
- 單獨視圖緩存模式(單個接口使用緩存)
- 局部視圖緩存模式
第一種:實現方式:
必須在 settings中設置 緩存中間件
MIDDLEWARE = [
'django.middleware.cache.UpdateCacheMiddleware', 。。。其他中間件。。。 'django.middleware.cache.FetchFromCacheMiddleware', ]
但是伴隨的缺點就是 沒有設置 緩存的接口默認都會有600秒的緩存,如下
無論清緩存還是換瀏覽器,因為緩存都是放在服務端的。
這就導致 那些不需要設置緩存,要求數據實時性較高的接口無法及時返回最新數據。
所以:
如果需要使用
from django.views.decorators.cache import cache_page, cache_control
from django.views.decorators.vary import vary_on_headers
@cache_control,@vary_on_headers,@vary_on_cookie
這些裝飾器,就必須需要 緩存中間件,但是這樣會導致其他接口都會有緩存600秒,需要慎重考慮使用
第二種:
from django.views.decorators.cache import cache_page
@cache_page(10) def cac(request): .......
這種方式只針對一個接口使用緩存(個人傾向於使用此方式)
第三種:
涉及到模板的使用(具體沒有研究過):