麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > Python > 正文

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

2020-02-15 23:05:33
字體:
來源:轉載
供稿:網友

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

緩存的適合場景

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

緩存優(yōu)先級

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

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

有三種模式:

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

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

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

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

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

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

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

所以:

如果需要使用

from django.views.decorators.cache import cache_page, cache_controlfrom 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): .......

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

第三種:

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

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

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 久久精品亚洲精品国产欧美kt∨ | 狠狠操天天射 | 成年人黄色片视频 | 国产成人午夜高潮毛片 | 欧美精品成人一区二区三区四区 | 在线免费观看毛片视频 | 在线观看免费视频麻豆 | 欧美精品一区二区三区四区 | 欧美福利视频一区二区三区 | 成品片a免人视频 | 亚洲成年人免费网站 | 国产二区三区四区 | 免费视频aaa | 日本人乱人乱亲乱色视频观看 | 国产在线观看 | 午夜视频在线在免费 | 99欧美精品| 免费国产在线精品 | 日本一区二区三区视频在线 | 国产精品aⅴ | av在线免费播放 | 国产成人在线网址 | 国产乱乱视频 | 欧美 国产 亚洲 卡通 综合 | 国产精品久久久久久久四虎电影 | 欧美精品a∨在线观看不卡 午夜精品影院 | 欧美老外a级毛片 | 国产一区二区三区在线视频 | 青青草国产在线视频 | 国产wwww| 亚洲精品一区二区三区大胸 | 欧美日韩电影在线 | 欧美大胆xxxx肉体摄影 | 国产一区二区欧美精品 | 亚洲精品一区二区三区免 | 激情综合婷婷久久 | 免费黄色在线观看网站 | 午夜国产在线 | 久久精品亚洲一区二区 | 中文字幕欧美在线 | 午夜生活理论片 |