【问题标题】:GWT caching - a cookies approachGWT 缓存 - 一种 cookie 方法
【发布时间】:2011-04-24 14:42:44
【问题描述】:

我正在尝试提高我的 gwt 应用的性能。

我的应用程序使用了大量的 rpc 请求,所以我正在尝试将它们缓存在客户端中。

每个 rpc 请求都会返回一个记录列表(通常为 100 条记录)。我将它们作为 Java 列表存储在客户端中,但我注意到浏览器无法处理这么多对象。它的性能裂缝。

我正在考虑使用某种 JSON 将每个请求的结果存储到 cookie 中,并在需要时检索它。换句话说,将请求缓存在 cookie 中比在客户端浏览器的 RAM 中更好。

有人可以给我建议吗? 遵循这种方法我会成功还是这是一个愚蠢的想法? 有人有更好的解决方案吗?

【问题讨论】:

  • 如何使用 Java List 在客户端存储结果?

标签: performance caching gwt


【解决方案1】:

也许你想看看这个问题:Client side caching in GWT

【讨论】:

    【解决方案2】:

    Cookies 实际上是一个糟糕的存储东西的地方,因为它们会在每次请求时发送到服务器,甚至是 RPC (Ajax) 请求。

    我认为您想要的是本地存储,它在每个现代浏览器中都有某种实现。不确定较旧的 IE,但您可以回退到 Flash 在那里进行本地存储。

    编辑

    GWT 对本地存储(据我所知)没有任何原生支持,但您始终可以使用 JSNI。

    在 JS 中存储内容也是一种非常有效的方法,您只需要确保内容过期并退出缓存即可。您当前的缓存解决方案是否会永远增长?因为那肯定会最终杀死浏览器。

    【讨论】:

      【解决方案3】:

      cookie 作为 HTTP 响应标头中的一个字段由 Web 服务器发送到 Web 浏览器,然后浏览器每次访问该服务器时都原封不动地发回。

      想想交通...

      【讨论】:

        【解决方案4】:

        @darkporter 我完全同意并想补充一点,Web Storage 支持将在下一个 GWT 2.3 版本中提供。因此,如果您现在需要它,您可以从 gwt trunk 中提取这些类并在您的项目中使用它们。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2016-07-21
          • 2018-02-11
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2017-01-09
          • 1970-01-01
          相关资源
          最近更新 更多