0

我有任务要做,那里有大约 15000 个项目。我用主干和 node.js socket.io.js 来做。

我最初只加载这些项目,调用 fetch。脚本冻结了几秒钟,但到目前为止一切都在快速运行。

此集合的更新是使用套接字处理的,因此当我想要更新数据时不需要获取所有 15K 项。

我选择这种方式的原因 - 获得快速的用户交互,因此用户只需搜索项目并快速显示。不像搜索并等待ajax响应。

但是我们今天讨论了,我的老板说数据集可能会增长 10 倍。我看到了其他不建议使用 100K 阵列的讨论。

但是,当我不打算不断地获取整个数据集,而是与节点进行小小和平时,你认为我会有什么问题吗?

如果是这样,也许我应该计划加载部分数据,例如加载 10K 项。这些项目可以分组,所以可以说部分组已加载,部分组未加载。

因此,当用户搜索时,他要么很幸运并立即看到结果,要么他看到 ajax 微调器 - 以及从服务器加载的数据。

当我不需要 ajax 并且一切都运行得如此之快时,感觉很棒,但是当他告诉它可能是 10 倍大的数据集时,我有点担心 :)

4

1 回答 1

0

好吧,您的页面加载现在需要几秒钟 - 随着 10 倍的数据集增加,这可能会增加到很多很多秒,以及增加您的服务器和数据库上的负载。每个应用程序和数据集都有其特定用途,基于此,它取决于是否以及如何对数据进行分页。暴露长时间执行的方法也是有风险的,因为它会使系统更加脆弱并且容易受到 DOS 攻击。我可以看到的唯一客户端解决方案是部分或全部获取数据并将其存储在本地存储中,但是您必须处理该安全风险。它也可能比标准的 AJAX 搜索更难实现,因此 AJAX 可能是您在这种情况下的最佳选择。

于 2013-07-25T16:42:13.907 回答