【问题标题】:Web caching when retrieving lists of documents检索文档列表时的 Web 缓存
【发布时间】:2010-09-23 03:10:32
【问题描述】:

我们需要将客户端资源用于包含任务的列表。

客户需要:

  • 收到列表更新通知
  • 能够重新排序/过滤列表(请求服务器更新客户端不知道/缓存中的任务)

问题出现在初始加载或大型列表更新(从“分配给我的任务”更改为“关于 x 的任务”)

最快的做法是将所有任务返回到一个列表中,而不是单个 (10+) 请求。

但当我请求更新列表中的任务时,电子标签将无济于事,因为它不是单独下载的。

有没有办法让浏览器根据它们各自的 url 缓存列表中的项目?

或者创建一个可以在导航离开后仍然存在的 javascript 缓存的方法?

  • 如果我离开并转到任务 url,我的 js 对象会继续存在吗?我怀疑没有。
  • 如果我离开,然后回击,我的 javascript 对象会继续存在吗?我怀疑是的。
    • 如果是这样,是否可以有一个“任务列表加载”页面来检查历史记录并返回到现有任务列表?我认为没有 - 安全性。

我想我只需要接受初始加载命中并单独检索任务,以便以后的请求更快(并减轻服务器的负载)。

【问题讨论】:

    标签: javascript caching etag


    【解决方案1】:

    在 HTML5 中,Window.sessionStorage 属性能够针对选项卡/窗口中的特定会话存储内容(其他窗口将有自己的存储,即使针对同一会话运行时也是如此)。

    规范中还提供了 localStorage 和数据库存储选项。

    【讨论】:

      【解决方案2】:

      HTML5 距离实现还有一段距离,但您可以使用Google Gears 来满足您的本地存储需求。

      另外,我不知道我们正在谈论多少同时的客户端和任务,任务有多大以及这样的请求可能会给数据库带来什么压力,但我认为你应该能够运行没有任何缓存的平滑,10+ 个请求似乎并不多。如果流量不是瓶颈,我会将缓存放在服务器上并让客户端保持“哑”。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-08-02
        • 1970-01-01
        • 2017-07-03
        • 2019-09-29
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-07-16
        相关资源
        最近更新 更多