成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

django緩存的使用方法-創(chuàng)新互聯(lián)

創(chuàng)新互聯(lián)www.cdcxhl.cn八線動態(tài)BGP香港云服務(wù)器提供商,新人活動買多久送多久,劃算不套路!

成都創(chuàng)新互聯(lián)公司是一家專注于網(wǎng)站設(shè)計制作、網(wǎng)站設(shè)計與策劃設(shè)計,王益網(wǎng)站建設(shè)哪家好?成都創(chuàng)新互聯(lián)公司做網(wǎng)站,專注于網(wǎng)站建設(shè)十載,網(wǎng)設(shè)計領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:王益等地區(qū)。王益做網(wǎng)站價格咨詢:18982081108

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

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

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

django是動態(tài)網(wǎng)頁,一般來說需要實時的生成訪問的頁面,展示給訪問者,這樣,內(nèi)容可以隨時變化,也就說請求到達視圖函數(shù)之后,然后進行模板渲染,將字符串返回給用戶,用戶會看到相應(yīng)的html頁面。但是如果每次請求都從數(shù)據(jù)庫中請求并獲取數(shù)據(jù),并且當用戶并發(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ù)緩存>模板渲染下的局部視圖使用緩存。

局部視圖 使用

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

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

{#局部緩存  靜態(tài)數(shù)據(jù)緩存#}
{% load cache %}
{#引入TemplateTage#}
<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>cache</title>
</head>
<body>
{#    小力度細致緩存#}
    {% cache 5 c1 %}
{#兩個參數(shù): 緩存超時時間(以秒計)和指定緩存片段的名稱。 #}
          .. sidebar ..
    {% endcache %}
</body>
</html>

單獨視圖緩存 使用

from django.views.decorators.cache import cache_page
@cache_page(10)
#參數(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時作用 查看是否有緩存,如果沒有則寫入緩存,否則直接返回給客戶端

'django.middleware.cache.FetchFormCacheMiddleware',

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

 客戶端第一次發(fā)出請求是通常是沒有緩存的,

 因此request請求由中間件FetchForm經(jīng)過檢查沒有緩存后進入views,

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

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

網(wǎng)站名稱:django緩存的使用方法-創(chuàng)新互聯(lián)
網(wǎng)站路徑:http://jinyejixie.com/article28/jgecp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供用戶體驗標簽優(yōu)化、網(wǎng)站建設(shè)微信公眾號、網(wǎng)站制作、企業(yè)網(wǎng)站制作

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)
涞水县| 东至县| 电白县| 贵南县| 惠来县| 黎城县| 类乌齐县| 广水市| 诸城市| 河曲县| 通海县| 郴州市| 财经| 台前县| 黎城县| 莲花县| 新和县| 永泰县| 林周县| 天祝| 遂溪县| 伊通| 中阳县| 无锡市| 龙游县| 恩平市| 孝感市| 武穴市| 当涂县| 盱眙县| 蛟河市| SHOW| 阿拉尔市| 星座| 府谷县| 新龙县| 梧州市| 慈溪市| 南皮县| 青川县| 饶河县|