在 Web 開(kāi)發(fā)領(lǐng)域,緩存作為一種程序技術(shù)被廣泛的應(yīng)用。那么到底什么是緩存呢?Django 中緩存系統(tǒng)又起到了哪些關(guān)鍵作用呢?我們一起來(lái)了解一下。
1. 緩存技術(shù)的作用
緩存是指保存一些計(jì)算開(kāi)銷較大的數(shù)據(jù),可以是某個(gè)網(wǎng)頁(yè),也可以是網(wǎng)頁(yè)的一部分,或者僅僅只是格式化的數(shù)據(jù),合理運(yùn)用緩存技術(shù)可以減少數(shù)據(jù)庫(kù)訪問(wèn)次數(shù),不用每次都到數(shù)據(jù)庫(kù)中讀取數(shù)據(jù),從而優(yōu)化了網(wǎng)頁(yè)的訪問(wèn)速度。
緩存系統(tǒng)真正的提高了 Web 站點(diǎn)執(zhí)行效率,常被用來(lái)緩存用戶經(jīng)常訪問(wèn)的頁(yè)面,比如網(wǎng)站的首頁(yè)等,用戶再次訪問(wèn)的時(shí)候直接返回已經(jīng)緩存的內(nèi)容,從而減小了 Web 服務(wù)器的壓力。
2. Django 緩存系統(tǒng)
Django 提供了一個(gè)健壯的緩存系統(tǒng),可以保存動(dòng)態(tài)頁(yè)面,這樣就不必每次都把相同的請(qǐng)求進(jìn)行重復(fù)計(jì)算。并且 Django 還提供了不同級(jí)別的緩存粒度,可以緩存特定視圖的輸出,或者只緩存某些特定的片段,比如網(wǎng)站自動(dòng)跳出的咨詢欄等,或者也可以緩存整個(gè)站點(diǎn)。
同時(shí) Django 還支持多種緩存類型,可以根據(jù)實(shí)際情況來(lái)選擇用哪種類型,例如 Memcached、數(shù)據(jù)庫(kù)、文件系統(tǒng)等。
Memcached 是 Django 支持的最快、最高效的分布式高效緩存系統(tǒng),它是一種完全基于內(nèi)存的緩存服務(wù)器。它被 Facebook 、維基百科等網(wǎng)站使用,從而減少數(shù)據(jù)庫(kù)的訪問(wèn)并顯著提高網(wǎng)站的性能。