真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

django緩存的使用方法

這篇文章主要介紹django緩存的使用方法,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!

創(chuàng)新互聯(lián)是一家專注于做網(wǎng)站、網(wǎng)站建設(shè)與策劃設(shè)計(jì),眉山網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)做網(wǎng)站,專注于網(wǎng)站建設(shè)10余年,網(wǎng)設(shè)計(jì)領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:眉山等地區(qū)。眉山做網(wǎng)站價(jià)格咨詢:18980820575

通常,計(jì)算值是昂貴的(即資源匱乏和緩慢),因此將值保存到可快速訪問(wèn)的緩存中可以有巨大的好處,為下一次需要做好準(zhǔn)備。

這是一個(gè)足夠重要和強(qiáng)大的技術(shù),Django包括一個(gè)綜合的緩存框架,以及其他較小的緩存功能。

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

緩存的適合場(chǎng)景

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

緩存優(yōu)先級(jí)

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

局部視圖 使用

在模板的頂端附近加入{% load cache %}以通知模板存取緩存標(biāo)簽。

模板標(biāo)簽{% cache %}在給定的時(shí)間內(nèi)緩存了塊的內(nèi)容。 它至少需要兩個(gè)參數(shù): 緩存超時(shí)時(shí)間(以秒計(jì))和指定緩存片段的名稱。

{#局部緩存  靜態(tài)數(shù)據(jù)緩存#}
{% load cache %}
{#引入TemplateTage#}



    
    cache


{#    小力度細(xì)致緩存#}
    {% cache 5 c1 %}
{#兩個(gè)參數(shù): 緩存超時(shí)時(shí)間(以秒計(jì))和指定緩存片段的名稱。 #}
          .. sidebar ..
    {% endcache %}

單獨(dú)視圖緩存 使用

from django.views.decorators.cache import cache_page
@cache_page(10)
#參數(shù)為緩存失效時(shí)間
def cache(request):
    pass

全局緩存  配置

MIDDLEWARE = [
    'django.middleware.cache.UpdateMiddleware',
    'django.middleware.security.SecurityMiddleware',
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.common.CommonMiddleware',
    'django.middleware.csrf.CsrfViewMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'django.contrib.messages.middleware.MessageMiddleware',
    'django.middleware.clickjacking.FrameOptionsMiddleware',    'django.middleware.cache.FetchFromCacheMiddleware',
]

'django.middleware.cache.UpdateMiddleware',

 服務(wù)端響應(yīng)response時(shí)作用 查看是否有緩存,如果沒(méi)有則寫入緩存,否則直接返回給客戶端

'django.middleware.cache.FetchFormCacheMiddleware',

客戶端請(qǐng)求request時(shí)作用 查看是否有緩存,如果有不經(jīng)過(guò)views直接返回,否則進(jìn)入views視圖執(zhí)行函數(shù)獲取緩存

 客戶端第一次發(fā)出請(qǐng)求是通常是沒(méi)有緩存的,

 因此request請(qǐng)求由中間件FetchForm經(jīng)過(guò)檢查沒(méi)有緩存后進(jìn)入views,

 然后response攜帶緩存到中間件Update后寫入緩存,再返回給客戶端。

以上是django緩存的使用方法的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對(duì)大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!


本文名稱:django緩存的使用方法
文章鏈接:http://weahome.cn/article/jocgei.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部