利用頁(yè)面緩存

2021-12-02    分類: 網(wǎng)站建設(shè)

在Web服務(wù)之前部署頁(yè)面緩存。選擇一種緩存系統(tǒng)并部署它。通過(guò)緩存和響應(yīng)之前生成的動(dòng)態(tài)請(qǐng)求,迅速響應(yīng)靜態(tài)對(duì)象的調(diào)用,從而降低Web服務(wù)器的負(fù)載。頁(yè)面緩存是分流動(dòng)態(tài)請(qǐng)求并有效進(jìn)行擴(kuò)展的好方法。

頁(yè)面緩存是安裝在Web服務(wù)器之前的緩存服務(wù)器,用于卸載對(duì)服務(wù)器上的靜態(tài)和動(dòng)態(tài)對(duì)象的請(qǐng)求。該系統(tǒng)或服務(wù)器器的常見(jiàn)名稱還有反向代理緩存、反向代理服務(wù)器和反向代理。經(jīng)過(guò)慎重考慮,我們采用了頁(yè)面緩存這個(gè)術(shù)語(yǔ),因?yàn)榇沓绦蜻€會(huì)負(fù)責(zé)負(fù)載平衡或SSL加速,而我們只想專注于緩存服務(wù)器對(duì)可擴(kuò)展性的影響。被實(shí)現(xiàn)的代理緩存如圖64所示。頁(yè)面緩存會(huì)處理部分或所有請(qǐng)求,直到它存儲(chǔ)的頁(yè)面或數(shù)據(jù)過(guò)期了,或服務(wù)器收到的請(qǐng)求了它沒(méi)有存儲(chǔ)的數(shù)據(jù)。請(qǐng)求失敗叫做緩存未命中,原因可能是緩存滿了,沒(méi)有空間為最新的請(qǐng)求存儲(chǔ)數(shù)據(jù),也可能是緩存未滿,但請(qǐng)求頻率較低或最近重啟過(guò)。緩存未命中會(huì)被傳遞給Web服務(wù)器,Web服務(wù)器用該請(qǐng)求回答并填充緩存,從而替換緩存中最近很少使用的記錄,或者在空白處寫入數(shù)據(jù)。
在這個(gè)原則中,有三個(gè)關(guān)鍵點(diǎn)。
第一點(diǎn),應(yīng)該在Web服務(wù)器前實(shí)現(xiàn)頁(yè)面緩存(反向代理程序),這樣你就會(huì)得到很大的可擴(kuò)展性。生成動(dòng)態(tài)內(nèi)容的Web服務(wù)器的工作量會(huì)大大減少,因?yàn)橛?jì)算過(guò)的結(jié)果(或響應(yīng))在合適的時(shí)間被恰當(dāng)?shù)鼐彺媪?。提供靜態(tài)內(nèi)容的Web服務(wù)器不需要查詢那些內(nèi)容,可以少用一些緩存。我們同意,靜態(tài)內(nèi)容的頁(yè)面緩存的好處沒(méi)有動(dòng)態(tài)內(nèi)容的頁(yè)面緩存那么大。
第二點(diǎn),需要利用正確的HTTP頭,確保對(duì)內(nèi)容和查詢結(jié)果進(jìn)行大化的緩存(當(dāng)然還要確保業(yè)務(wù)正確)。
第三點(diǎn),盡可能加入RFC2616中的另一個(gè)HTTP頭,從而大化內(nèi)容的可緩存性。這個(gè)新的頭是ETag,也就是實(shí)體標(biāo)簽(entitytag),目的是配合If-None-Match有條件地從服務(wù)器獲得請(qǐng)求。ETag是由服務(wù)器在瀏覽器第一次請(qǐng)求一個(gè)對(duì)象時(shí)賦予該對(duì)象的唯一標(biāo)識(shí)符。如果服務(wù)器端的資源改變了,那么服務(wù)器會(huì)為它分配一個(gè)新的Erag。假設(shè)能被瀏覽器(客戶端)正確地支持,對(duì)象和它的ETag標(biāo)簽就會(huì)被瀏覽器緩存,之后瀏覽器向Web服務(wù)器發(fā)送的工f-None-Match請(qǐng)求都會(huì)包含該標(biāo)簽。如果標(biāo)簽匹配,服務(wù)器會(huì)用狀態(tài)HTIP304NotModified進(jìn)行響應(yīng)。如果該標(biāo)簽與服務(wù)器上的不一致,服務(wù)器會(huì)發(fā)送更新過(guò)的對(duì)象以及與之相關(guān)的Etag-ETag是可選的,但如果要確保在任何特定的網(wǎng)站設(shè)計(jì)頁(yè)面或?qū)ο蟮恼麄€(gè)網(wǎng)絡(luò)傳輸中,頁(yè)面緩存和代理緩存具有更大的可緩存性,強(qiáng)烈推薦使用Brag。

網(wǎng)站標(biāo)題:利用頁(yè)面緩存
網(wǎng)站URL:http://www.bm7419.com/news40/138590.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供面包屑導(dǎo)航、網(wǎng)站維護(hù)、手機(jī)網(wǎng)站建設(shè)微信公眾號(hào)、網(wǎng)頁(yè)設(shè)計(jì)公司、定制開發(fā)

廣告

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

小程序開發(fā)