2008-11-19 49 views
0

我們需要利用客戶端資源來處理包含任務的列表。檢索文檔列表時進行Web緩存

客戶端需要:

  • 通知更新的列表
  • 能夠重新排序/過濾列表(從服務器請求一個更新的客戶端不知道任務中/有緩存)

這個問題是在初始加載或大名單更新(從「分配給我的任務」變爲「任務作爲X」)

的最快的做法是將所有任務重新放回列表中,而不是單個(10+)請求。

但是當我向列表中的任務請求更新時,電子標籤無法幫助,因爲它並未單獨下載。

是否有某種方式讓瀏覽器緩存列表中的項目對他們各自的URL?

或創建一個javascript緩存,將通過一個導航離開的方式嗎?

  • 如果我導航離開,並去任務的網址,我的js對象將生存?我懷疑不。
  • 如果我離開,然後回擊,我的JavaScript對象將生存?我懷疑是的。
    • 如果是這樣,是否有可能有一個「任務列表加載」頁面,將檢查歷史記錄並返回到現有的任務列表?我認爲沒有 - 安全。

我想我就必須把初始加載命中和單獨檢索任務,這樣以後的請求是快速(並採取負載關閉服務器)。

回答

1

在HTML5中,有一個Window.sessionStorage屬性能夠在標籤/窗口內存儲針對特定會話的內容(即使在針對同一會話運行時,其他窗口也會擁有自己的存儲空間)。

規範中還有localStorage和數據庫存儲選項。

1

HTML5離實施還有點距離,但您可能可以使用Google Gears來滿足您的本地存儲需求。另外,我不知道我們正在討論多少個同時發生的客戶端和任務,這些任務有多大,以及這樣的請求可能會給數據庫帶來多大的壓力,但我認爲您應該能夠沒有任何緩存運行平穩,10 +請求似乎並不多。如果流量不是瓶頸,我會將緩存放在服務器上,並保持客戶端「啞巴」。