代码之家  ›  专栏  ›  技术社区  ›  morgancodes

我应该在浏览器内存中缓存多少数据有限制吗?

  •  1
  • morgancodes  · 技术社区  · 14 年前

    我需要从REST服务加载几千条用户数据记录(准确地说,联系人管理系统中的用户联系人)并对其进行搜索。不幸的是,REST服务不能提供满足我需求的搜索,所以我只能加载一堆数据,然后自己搜索。加载记录很耗时,所以我只想为每个用户加载一次。

    显然这些数据需要缓存。不幸的是,服务器端缓存不是一个选项。我的客户端在多个服务器上运行应用程序,无法预测给定请求将在哪个服务器上着陆。

    因此,下一个选择是在浏览器端缓存这些数据并在那里运行搜索。对于拥有数千个联系人的用户,这可能意味着要缓存数兆字节的数据。在浏览器内存中存储几兆字节的javascript数据可能会遇到什么问题?

    4 回复  |  直到 14 年前
        1
  •  4
  •   Matt Ball    14 年前

        2
  •  3
  •   godswearhats    14 年前

    如果你想让你的用户使用移动设备,在客户端做任何事情时要小心。虽然桌面不会有问题,但mobileSafari将停止处理(我相信)10Mb的JavaScript数据。(参见 this article

    另一种方法是代理相关的REST服务,然后在您控制的服务器上创建自己的搜索。您可以使用Python+Django快速轻松地完成这项工作+ XML Models . 毫无疑问,无论您喜欢哪种开发语言,都有同样简单的方法来实现这一点。(在重读中,我发现您不能进行服务器端缓存,这可能使这一点变得毫无意义)。

        3
  •  1
  •   Dan Stocker    14 年前

    http://github.com/danstocker/jorder )在这样的数据集上没有问题。

        4
  •  1
  •   Jim    14 年前