一個動態(tài)網(wǎng)站的基本權(quán)衡點就是,它是動態(tài)的。每次用戶請求頁面,服務(wù)器會重新計算。從開銷處理的角度來看,這比你讀取一個現(xiàn)成的標(biāo)準(zhǔn)文件的代價要昂貴的多。
這就是需要緩存的地方。
Django 自帶了一個健壯的緩存系統(tǒng)來保存動態(tài)頁面這樣避免對于每次請求都重新計算。方便起見,Django 提供了不同級別的緩存粒度:可以緩存特定視圖的輸出、可以僅僅緩存那些很難生產(chǎn)出來的部分、或者可以緩存整個網(wǎng)站 Django 也能很好的配合那些“下游”緩存, 比如 Squid 和基于瀏覽器的緩存。這里有一些緩存不必要直接去控制但是可以提供線索, (via HTTPheaders)關(guān)于網(wǎng)站哪些部分需要緩存和如何緩存。
設(shè)置緩存:
緩存系統(tǒng)需要一些設(shè)置才能使用。 也就是說,你必須告訴他你要把數(shù)據(jù)緩存在哪里- 是數(shù)據(jù)庫中,文件系統(tǒng)或者直接在內(nèi)存中。這個決定很重要,因為它會影響你的緩存性能,是的,一些緩存類型要比其他的緩存類型更快速。
你的緩存配置是通過 setting 文件的 CACHES 配置來實現(xiàn)的。這里有 CACHES 所有可配置的變量值。