成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Ajax模式之緩存控制器模式

開發 前端 后端
Ajax模式提出了一種不同視角的緩存控制器模式,它是采用客戶端做緩存的方式,本文介紹了這種模式的實現和效果。

緩存控制器模式出自《Ajax patterns and best practice》,這個Ajax模式非常具備實際意義,為客戶端的緩存實現做出了指導,和以往在使用傳統B/S結構進行開發時所做緩存的思路有一個改進點.

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

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

效果

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

這樣看來和傳統的B/S結構緩存所起到的效果有什么不同的地方呢?就在于客戶端也做了緩存,這就使得在數據沒有修改的情況下可以減少流量的產生,而在傳統的B/S結構的緩存策略中只是提升了服務器端的響應,但流量仍然是同樣的。

實現

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

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

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

來看看書中關于實現緩存控制器模式模型的一段描述:

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

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

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

 

【編輯推薦】

  1. AJAX推送與拉取方式的比較
  2. 詳談基于JSON的高級AJAX開發技術
  3. 7個免費強大的Ajax文件管理器
  4. 使用ASP.NET AJAX調用WCF服務項模板
  5. Grails Ajax富客戶端插件橫向大比拼
責任編輯:佚名 來源: JavaEye
相關推薦

2011-07-07 16:14:37

Cocoa MVC 模型

2023-09-04 13:14:00

裝飾器設計模式

2009-12-01 18:29:56

PHP緩存控制器

2021-06-22 15:27:13

設計模式迭代器模式Java

2023-12-13 13:28:16

裝飾器模式Python設計模式

2011-07-12 09:29:10

主域控制器備份域控制器

2011-07-13 10:29:44

域控制器

2013-12-19 09:32:01

SDN南向網絡控制

2010-04-29 08:53:11

PHP迭代器模式

2010-04-21 08:38:18

解釋器模式PHP設計模式

2017-05-05 10:13:03

應用級緩存緩存代碼

2020-08-21 07:23:50

工廠模式設計

2011-07-14 10:28:54

額外域控制器

2011-07-13 13:43:30

2015-08-07 15:28:46

選取城市控制器源碼

2023-08-13 18:31:45

SDN控制器

2015-09-08 13:39:10

JavaScript設計模式

2021-06-16 08:56:06

模版方法模式設計模式行為型設計模式

2012-01-13 15:59:07

2021-06-29 08:54:23

設計模式代理模式遠程代理
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲一区二区综合 | 97国产在线视频 | 国产成人免费视频网站视频社区 | 国产精品精品视频一区二区三区 | 欧美日韩中文字幕在线 | 日韩福利在线观看 | 国产高清久久 | 亚洲高清网 | 亚洲欧美在线免费观看 | 欧美在线视频免费 | 亚洲成人久久久 | 久久精品综合网 | 久久偷人 | 日本在线一区二区 | 国产在线精品一区 | 日韩小视频在线 | 久久激情视频 | 黄a在线播放 | 岛国av一区二区三区 | 国产精品美女 | 国产成人精品一区二区三区四区 | 日韩中文字幕视频在线观看 | 九九九久久国产免费 | 黄色香蕉视频在线观看 | 伊人一区 | 国产乱码精品一品二品 | www.夜夜骑.com| 欧美成人一级视频 | a免费观看 | 99精品欧美一区二区三区综合在线 | 久久久久久中文字幕 | 一级黄色录像毛片 | 欧美激情a∨在线视频播放 成人免费共享视频 | 亚洲视频一区在线 | 91热在线 | 国产美女免费视频 | 欧美视频在线播放 | 国产在线观看不卡一区二区三区 | 亚洲成人精品一区二区 | 亚洲成人黄色 | 日韩精品在线观看视频 |