首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >处理非常大的JSON数据集?

处理非常大的JSON数据集?
EN

Stack Overflow用户
提问于 2019-03-15 05:55:31
回答 2查看 733关注 0票数 0

我有一个场景,其中前端应用程序使用JSON请求调用后端DB (APP -> API网关-> SpringBoot -> DB)。后端返回响应大小为10 MB的非常大的数据集(>50000行)。

我的前端应用是高度响应和任务关键,我们看到了性能问题;前端的应用程序没有响应或定时。解决这个问题的最佳设计是什么?

  1. 数据库查询不能进一步规范化。
  2. SpringBoot代码有缓存内置。
  3. 任何数据都不能因为固有的本质而被留下。
  4. 不可以进行多个调用,因为数据是第一次调用本身。
  5. 可以在前端和后端之间内置任何缓存吗?

谢谢。

EN

回答 2

Stack Overflow用户

发布于 2019-03-15 06:31:45

听起来这是搜索生成的报告。如果这些数据需要相互关联,我将为搜索分配一个id并恢复服务器上的结果。然后,根据需要在前端提取该id的数据。你不应该一次把50,000行发送给客户.对数据进行分页,必要时按需要进行拉。如果您不想分页,它们能在一个屏幕上显示多少数据?您可以根据服务器在页面上滚动的位置从服务器中提取更多数据。您应该只需要将行的计数返回到前端,并可能返回100行数据。这将允许您显示一个具有正确高度的滚动条。当它们滚动到数据中的某个位置时,您可以从服务器中提取相应的偏移量,用于特定的搜索id。即使您可以一次返回所有的50,000+行,对于最终用户的设备来说,不得不为一个功能页面加载这样的内存听起来并不是很友好。这是一个有缺陷的前瞻的迹象,应该重新做。

票数 1
EN

Stack Overflow用户

发布于 2019-03-15 06:02:43

10 if是巨大的,可能是不考虑您的用户,特别是如果有一个很高的可能性移动使用。

如果可能,最好在后端收集这些数据,可能将其放到磁盘上,然后根据需要只向前端提供必要的数据。由于地图需要更多的数据,所以需要对后端进行进一步的调用。

如果这是不可能的,您可以用客户端包加载这些数据。如果数据更新不频繁,甚至可以将其缓存在前端。这至少可以防止用户需要重复获取它。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55176383

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档