91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

淺談django三種緩存模式的使用及注意點

發布時間:2020-09-13 10:24:13 來源:腳本之家 閱讀:124 作者:RGC 欄目:開發技術

django是動態網頁,一般來說需要實時的生成訪問的頁面,展示給訪問者,這樣,內容可以隨時變化,也就說請求到達視圖函數之后,然后進行模板渲染,將字符串返回給用戶,用戶會看到相應的html頁面。但是如果每次請求都從數據庫中請求并獲取數據,并且當用戶并發量十分大的時候,這將服務器性能將大大受到影響。因此使用緩存能有效的解決這類問題。如果能將渲染后的結果放到速度更快的緩存中,每次有請求過來,先檢查緩存中是否有對應的資源,如果有,直接從緩存中取出來返回響應,節省取數據和渲染的時間,不僅能大大提高系統性能,還能提高用戶體驗。

緩存的適合場景

對頁面實時性要求不高的頁面。對于大多數的購物網站,短期內商品的描述是沒有變化的,可以使用緩存。

緩存優先級

由django的生命周期知各級緩存的優先級:中間件應用的全局緩存>視圖函數緩存>模板渲染下的局部視圖使用緩存。

Django 緩存模式的使用(主要針對RestFul設計模式的項目)

有三種模式:

全站使用緩存模式(整個項目每個接口都會使用緩存,缺點:所以接口都無法實時性獲取數據) 單獨視圖緩存模式(單個接口使用緩存) 局部視圖緩存模式

第一種:實現方式:

必須在 settings中設置 緩存中間件

MIDDLEWARE = [
 'django.middleware.cache.UpdateCacheMiddleware',
  。。。其他中間件。。。
 'django.middleware.cache.FetchFromCacheMiddleware',
]

但是伴隨的缺點就是 沒有設置 緩存的接口默認都會有600秒的緩存,如下

淺談django三種緩存模式的使用及注意點

無論清緩存還是換瀏覽器,因為緩存都是放在服務端的。

這就導致 那些不需要設置緩存,要求數據實時性較高的接口無法及時返回最新數據。

所以:

如果需要使用

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):

 .......

這種方式只針對一個接口使用緩存(個人傾向于使用此方式)

第三種:

涉及到模板的使用(具體沒有研究過):

淺談django三種緩存模式的使用及注意點

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持億速云。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

都江堰市| 五常市| 元阳县| 资源县| 长沙市| 儋州市| 柳江县| 芜湖县| 长武县| 新兴县| 武冈市| 怀仁县| 苍溪县| 盐城市| 新乡市| 车险| 洪洞县| 五莲县| 仁化县| 娱乐| 邻水| 盐亭县| 延川县| 开平市| 云和县| 建湖县| 永年县| 台州市| 乌拉特后旗| 南靖县| 临泉县| 张家港市| 杭锦后旗| 顺平县| 佛冈县| 平阴县| 昌图县| 耿马| 河南省| 航空| 绥中县|