日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
Ajax模式之緩存控制器模式

緩存控制器模式出自《Ajax patterns and best practice》,這個Ajax模式非常具備實際意義,為客戶端的緩存實現(xiàn)做出了指導(dǎo),和以往在使用傳統(tǒng)B/S結(jié)構(gòu)進行開發(fā)時所做緩存的思路有一個改進點.

在傳統(tǒng)的B/S結(jié)構(gòu)的應(yīng)用中,為了提升系統(tǒng)的響應(yīng)效率,經(jīng)常會使用頁面分塊的緩存方式,在具體的實現(xiàn)上象經(jīng)常采用oscache這樣的東西來對頁面的塊進行緩存,將緩存的內(nèi)容放入服務(wù)器端,當(dāng)客戶端再次請求時則可以直接從緩存中獲取生成的頁面塊,而無需經(jīng)過后臺的一堆的處理,這種緩存方式對于系統(tǒng)效率的提升非常的明顯,基本上達到了生成靜態(tài)頁面的效果。

而在《Ajax patterns and best practice》書中,提出了一種不同視角的緩存控制器模式,它是采用客戶端做緩存的方式,當(dāng)然,服務(wù)器端也同時做,這樣的視角比較獨特,以前還真沒考慮過客戶端來做緩存,先來說說采用了這種模式后的效果再來看看怎么實現(xiàn)吧:

效果

采用了Ajax模式中的緩存控制器模式后,客戶端提交請求,服務(wù)器端返回相應(yīng)的數(shù)據(jù)或頁面片段,當(dāng)客戶端再次提交請求時,如服務(wù)器端此部分的數(shù)據(jù)或頁面片段沒發(fā)生變化,那么客戶端將直接從客戶端的緩存中獲取數(shù)據(jù)或頁面片段。

這樣看來和傳統(tǒng)的B/S結(jié)構(gòu)緩存所起到的效果有什么不同的地方呢?就在于客戶端也做了緩存,這就使得在數(shù)據(jù)沒有修改的情況下可以減少流量的產(chǎn)生,而在傳統(tǒng)的B/S結(jié)構(gòu)的緩存策略中只是提升了服務(wù)器端的響應(yīng),但流量仍然是同樣的。

實現(xiàn)

熟悉緩存策略實現(xiàn)方法的同學(xué)們在知道這種效果后基本上也就能想到怎么去實現(xiàn)了,只是以前可能沒有這么考慮過。

實現(xiàn)上首先在客戶端建立對應(yīng)key的緩存方式,也是類似Map的方式,當(dāng)客戶端發(fā)起請求時,將key也發(fā)送給服務(wù)器端,服務(wù)器端根據(jù)這個key值來判斷是否需要重新獲取數(shù)據(jù)或頁面片段(和token方式類似),如需要,服務(wù)器端則返回數(shù)據(jù)或頁面片段,如不需要,服務(wù)器端則直接返回一個不同的狀態(tài)碼,客戶端根據(jù)服務(wù)器端返回的狀態(tài)碼來決定是從緩存中獲取,還是獲取服務(wù)器端返回的數(shù)據(jù)或頁面片段,同時更新key值以及將數(shù)據(jù)或頁面片段放入緩存中。

按照這樣的實現(xiàn)方式,如果js也有一個和oscache這些類似的緩存框架就好了....

來看看書中關(guān)于實現(xiàn)緩存控制器模式模型的一段描述:

"一種更好的方法是使用HTTP驗證模型(HTTP Validation model)。該模型在每次發(fā)送響應(yīng)時都會添加一個標(biāo)簽(ticket)來保證數(shù)據(jù)的唯一性。如果客戶端想要再次下載內(nèi)容,它將最后下載的標(biāo)簽發(fā)送給服務(wù)器。服務(wù)器端比較發(fā)送來的這個標(biāo)簽和它當(dāng)前持有的標(biāo)簽是否一致。如果標(biāo)簽是一致的,服務(wù)器端就發(fā)送一個HTTP 304代碼,指示出請求的內(nèi)容沒有發(fā)生變化。在這種情況下,客戶端能夠從緩存中獲取舊的內(nèi)容,并將它作為最近和最好的內(nèi)容展現(xiàn)給用戶。HTTP驗證模型仍然需要一個HTTP請求,但是它不會帶來重復(fù)生成和發(fā)送內(nèi)容的代價。"

以上文字摘自即將出版的《Ajax模式和最佳實踐》。(也就是《Ajax patterns and best practice》的中文版)

以上是我個人看了緩存控制器模式后對于這種Ajax模式的想法,和書中表達方法有所不同,書中對于此種模式講解更為的深入也更為的全面,能夠想深入了解這種模式的話,可以去看看英文版,或者等中文版出版。


分享標(biāo)題:Ajax模式之緩存控制器模式
文章網(wǎng)址:http://www.dlmjj.cn/article/dpipchs.html