在Node中处理超过7 MB JSON文件的最佳方法是什么

时间:2019-07-13 19:21:48

标签: node.js json

我有一个很大的JSON文件(超过7 MB),我想对其进行迭代以找到我的匹配数据。

这是一种读取内存中整个文件并将其保存以备下次调用的好方法吗?还是还有其他一些方法具有更好的性能并使用了一些内存?

1 个答案:

答案 0 :(得分:1)

以JSON格式存储的数据应一次性读取。这就是格式的工作方式。这不是通常不先读取所有数据就进行增量搜索的格式。尽管有些模块支持流式传输并以某种方式对其进行增量检查,但这并不是该格式的目的,也不是最适合的格式。

因此,您确实有几个问题要问自己:

  1. 您可以一次将整个数据块读入内存并将其解析为Javascript吗?
  2. 在您的环境中执行此操作所需的内存量是多少?
  3. 是时候为您的应用程序做到这一点了吗?
  4. 您可以将其缓存在内存中一段时间​​,以便下次需要它时可以更有效地访问它吗?
  5. 或者,这些数据是否真的应该存在于支持高效搜索和高效修改且内存使用率更低,性能要好得多的数据库中?

如果您对前四个问题没问题,那么只需阅读一下,解析它,然后将生成的Javascript对象保留在内存中即可。如果您对前四个问题中的任何一个都不满意,那么您可能应该将数据放入一种可以更有效地查询而不将其全部加载到内存中的格式(例如简单的数据库)中。