最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時間:2018年09月30日 08:36:03   作者:RGC  
這篇文章主要介紹了淺談django 三種緩存模式的使用及注意點,詳細的介紹了三種緩存模式,非常具有實用價值,需要的朋友可以參考下

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

緩存的適合場景

對頁面實時性要求不高的頁面。對于大多數(shù)的購物網(wǎng)站,短期內(nèi)商品的描述是沒有變化的,可以使用緩存。

緩存優(yōu)先級

由django的生命周期知各級緩存的優(yōu)先級:中間件應(yīng)用的全局緩存>視圖函數(shù)緩存>模板渲染下的局部視圖使用緩存。

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

有三種模式:

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

第一種:實現(xiàn)方式:

必須在 settings中設(shè)置 緩存中間件

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

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

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

這就導(dǎo)致 那些不需要設(shè)置緩存,要求數(shù)據(jù)實時性較高的接口無法及時返回最新數(shù)據(jù)。

所以:

如果需要使用

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

這些裝飾器,就必須需要 緩存中間件,但是這樣會導(dǎo)致其他接口都會有緩存600秒,需要慎重考慮使用

第二種:

from django.views.decorators.cache import cache_page
@cache_page(10)

def cac(request):

 .......

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

第三種:

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

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Python 多維List創(chuàng)建的問題小結(jié)

    Python 多維List創(chuàng)建的問題小結(jié)

    這篇文章主要介紹了Python 多維List創(chuàng)建的問題小結(jié),詳細的介紹了遇到的一個小問題的解決方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-01-01
  • 使用Python腳本對GiteePages進行一鍵部署的使用說明

    使用Python腳本對GiteePages進行一鍵部署的使用說明

    剛好之前有了解過python的自動化,就想著自動化腳本,百度一搜還真有類似的文章。今天就給大家分享下使用Python腳本對GiteePages進行一鍵部署的使用說明,感興趣的朋友一起看看吧
    2021-05-05
  • python中startswith()和endswith()的用法詳解

    python中startswith()和endswith()的用法詳解

    Python startswith() 方法用于檢查字符串是否是以指定子字符串開頭,endswith()方法主要是用于判斷字符串是否以指定字符或子字符串結(jié)尾,常用于判斷文件類型,對python startswith()和endswith()用法相關(guān)知識感興趣的朋友一起看看吧
    2021-10-10
  • Python中往列表中插入字典時,數(shù)據(jù)重復(fù)問題

    Python中往列表中插入字典時,數(shù)據(jù)重復(fù)問題

    這篇文章主要介紹了Python中往列表中插入字典時,數(shù)據(jù)重復(fù)問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-02-02
  • 在Python中比較列表中的相鄰元素的幾種方法

    在Python中比較列表中的相鄰元素的幾種方法

    在Python中,我們可以通過多種方式來對比列表中的相鄰項,我們沒有看到任何直接或間接的應(yīng)用程序來比較相鄰的元素,例如確定最近的趨勢,優(yōu)化用戶體驗,股票市場分析等等,本文將探討在Python中如何比較列表中的相鄰元素的幾種方法,需要的朋友可以參考下
    2025-01-01
  • Python嵌套循環(huán)的使用

    Python嵌套循環(huán)的使用

    本文主要介紹了Python嵌套循環(huán)的使用,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧<BR>
    2023-02-02
  • Python求解平方根的方法

    Python求解平方根的方法

    這篇文章主要介紹了Python求解平方根的方法,涉及Python數(shù)學(xué)運算的技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-03-03
  • python2和python3實現(xiàn)在圖片上加漢字的方法

    python2和python3實現(xiàn)在圖片上加漢字的方法

    python2和python3實現(xiàn)在圖片上加漢字,最主要的區(qū)別還是內(nèi)部編碼方式不一樣導(dǎo)致的,在代碼上表現(xiàn)為些許的差別。這篇文章主要介紹了python2和python3實現(xiàn)在圖片上加漢字,需要的朋友可以參考下
    2019-08-08
  • Python變量賦值的秘密分享

    Python變量賦值的秘密分享

    在Python中,我們令一個變量等于另外一個變量時,并不是把值傳遞給它,而是直接把指向的地址更改了,我們通過一個小例子來看看這個有趣的過程,需要的朋友可以參考下
    2018-04-04
  • python畫圖常見不同圖片格式保存方式

    python畫圖常見不同圖片格式保存方式

    這篇文章主要介紹了python畫圖常見不同圖片格式保存方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-09-09

最新評論

安吉县| 梨树县| 井研县| 盐山县| 南平市| 宜良县| 湟中县| 江城| 商都县| 夏河县| 隆化县| 华阴市| 库伦旗| 丹巴县| 甘南县| 乌什县| 和平区| 绥化市| 青铜峡市| 伊金霍洛旗| 南宁市| 凉山| 佳木斯市| 昭平县| 盐山县| 乡城县| 八宿县| 堆龙德庆县| 辛集市| 巴青县| 冷水江市| 克什克腾旗| 沙湾县| 汝阳县| 沛县| 周口市| 兴宁市| 上虞市| 浑源县| 于田县| 咸阳市|