2009-01-29 30 views
0

我開始進入陌生的領域,關注性能改進以及使用GWT構建的RIA(富Internet應用程序)。對於那些不熟悉GWT的人來說,基本上在部署時它只是純粹的JavaScript。我們通過XMLHttpRequest使用REST風格的XML Web服務與服務器端進行交互。Rich Internet應用程序中的客戶端緩存

我們的XML未編組到JavaScript對象中,並在應用程序中用於表示接口後面的數據模型。發生更改時,模型會更新並編組回到XML併發送回服務器。

我已經瞭解到性能(用戶體驗方面)的頭號規則是儘可能少地提出請求。顯然這提出了緩存的可能性。緩存對靜態數據非常有用,但是在服務器上的數據可能發生變化的多用戶系統中,情況會變得棘手。此外,由於我們希望完全避免不必要的請求,所以使用「Last-Modified」和「If-Modified-Since」請求還不夠。

我試圖弄清楚,在研究這些方法之前,瀏覽器中的緩存數據是否適合我們。我希望以前有人走過這條路。我在尋找類似的方法,總結經驗教訓,需要避免的事情,等

我很高興在需要時提供更具體的信息...

回答

0

對於GWT,如果性能事項多給你,通過在單個請求中發送所需的所有數據而不是查詢多個小數據,可以獲得更好的性能。我建議不要客戶端數據緩存,因爲有很多問題需要保持數據與數據庫同步。

此外,與傳統的html應用程序相比,GWT已經具有很好的優勢。除非你正在處理特殊數據(例如:不會過快陳舊 - 意味着大部分讀取查詢),我發現沒有特別需要緩存。你最好做一個服務層緩存,因爲大部分時間應該來自服務器端處理。

如果您可以提供有關應用性質的更多詳細信息,也許可以得出一些不同的結論。

+0

我同意,批處理數據請求提供了一個很好的加速多個較小的請求。但是,我們正在解決棘手的問題是確定什麼是「所有你需要的數據」。必須有一個上限。 – 2009-02-01 15:24:45