亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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

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

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

緩存的適合場景

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

緩存優(yōu)先級

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

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

有三種模式:

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

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

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

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

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

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

這就導致 那些不需要設(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

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

第二種:

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

def cac(request):

 .......

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

第三種:

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

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

相關(guān)文章

  • Python3 掃描庫文件并獲取版本號信息的操作方法

    Python3 掃描庫文件并獲取版本號信息的操作方法

    在 C/C++ 開發(fā)中使用了第三方庫,具體說是 .a, .lib, .dll 等文件,想通過 Python 查詢出這些文件中的版本號信息,下面小編給大家?guī)砹薖ython3中掃描庫文件并獲取版本號信息的知識,需要的朋友可以參考下
    2023-05-05
  • Python練習-購物單

    Python練習-購物單

    這篇文章主要介紹了Python練習-購物單,下文主要以舉例說明從問題描述開始,以及解題思路展開文章內(nèi)容,作為日常學習小練習,需要的小伙伴可以參考一下
    2022-01-01
  • 詳解Anaconda 的安裝教程

    詳解Anaconda 的安裝教程

    這篇文章主要介紹了Anaconda 的安裝教程,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-09-09
  • python的django寫頁面上傳文件及遇到的問題小結(jié)

    python的django寫頁面上傳文件及遇到的問題小結(jié)

    這篇文章主要介紹了python的django寫頁面上傳文件以及遇到的問題,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-08-08
  • Python 讀取串口數(shù)據(jù),動態(tài)繪圖的示例

    Python 讀取串口數(shù)據(jù),動態(tài)繪圖的示例

    今天小編就為大家分享一篇Python 讀取串口數(shù)據(jù),動態(tài)繪圖的示例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-07-07
  • python實現(xiàn)修改固定模式的字符串內(nèi)容操作示例

    python實現(xiàn)修改固定模式的字符串內(nèi)容操作示例

    這篇文章主要介紹了python實現(xiàn)修改固定模式的字符串內(nèi)容操作,結(jié)合實例形式詳細分析了Python修改固定模式字符串原理、實現(xiàn)方法及相關(guān)操作注意事項,需要的朋友可以參考下
    2019-12-12
  • Python 如何給圖像分類(圖像識別模型構(gòu)建)

    Python 如何給圖像分類(圖像識別模型構(gòu)建)

    這篇文章主要介紹了Python 教你如何給圖像分類,今天的文章主要是講圖像識別模型如何構(gòu)建,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-06-06
  • Python?socket之TCP通信及下載文件的實現(xiàn)

    Python?socket之TCP通信及下載文件的實現(xiàn)

    本文主要介紹了Python?socket之TCP通信及下載文件的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-02-02
  • Python中的線程操作模塊(oncurrent)

    Python中的線程操作模塊(oncurrent)

    這篇文章介紹了Python中的線程操作模塊(oncurrent),文中通過示例代碼介紹的非常詳細。對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-05-05
  • Tensorflow設(shè)置顯存自適應,顯存比例的操作

    Tensorflow設(shè)置顯存自適應,顯存比例的操作

    今天小編就為大家分享一篇Tensorflow設(shè)置顯存自適應,顯存比例的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-02-02

最新評論