放在哪里;很多“;数据的数组/文件/其他地方,在node.JS上的JS中
Where to put "a lot" of data, array / file / somewhere else, in JS on node.js
这可能是一个"愚蠢"的问题,但我是第一次处理"大量"数据。我想做的事情:查询世界银行API问题:API在搜索/筛选方面非常不稳定。。。我可以自己查询每个国家/指标,但我会接到很多电话。所以我想一次下载所有关于一个国家或指标的信息,然后在机器上排序。我的问题:在哪里/如何存储数据?我可以简单地把它变成一个数组吗?我是否需要担心大小?我应该写入一个临时json文件吗?或者你有其他想法吗?
谢谢你抽出时间!
示例:20个国家,15个指标
如果我查询每个国家,我会生成20*15个API调用,如果我调用所有国家的1个指标,它将导致15个API调用。我会得到很多"垃圾"数据:/
如果以下情况成立,您可以将RAM中的数据保持在适当的数据结构(数组或对象)中:
- 数据只是临时需要的(在一次特定操作中),或者在服务器重新启动时可以轻松地再次检索
- 如果node.js进程有足够的可用RAM来将数据存储在RAM中。在典型的服务器环境中,可能有超过GB的RAM可用。我不建议使用所有这些,但您可以轻松地将其中的100MB用于数据存储
将其保存在RAM中可能会使其比存储在磁盘上更快、更容易交互。显然,如果数据在RAM中,那么在服务器重新启动时,数据将不会持久存在。
如果数据是长期需要的,并且您只想获取一次数据,然后可以一次又一次地访问数据,即使您的服务器重新启动,如果数据超过数百MB,或者如果您的服务器环境没有太多RAM,那么您将希望将数据写入一个适当的数据库,在那里它将持久存在,并且您可以根据需要进行查询。
如果你不知道你的数据会有多大,你可以写代码暂时把它放在一个数组/对象中,并在数据加载后观察node.js进程的内存使用情况。
我建议将其存储在nosql数据库中,因为您将使用JSON,并从那里进行查询。
mongodb非常"节点友好"-有本机驱动程序-https://github.com/mongodb/node-mongodb-native或猫鼬
存储来自不受控制的外部源的数据会带来在数据发生更改时保持数据同步的复杂性。在不了解您的用例或API的情况下,很难提出建议。例如,你确定你需要整个数据集吗?有没有一种方法可以根据你已经掌握的信息(用户输入等)过滤掉数据?
- 在索引.html和应用.js [node.js] 之间共享变量
- JS(node.js)而循环不起作用
- 如何使用 JS (Node.js) 防止 HTTP 查询中允许使用 UTF8 字符串
- Angular JS & Node Webkit Routing
- 当作为脚本运行时.js Node中“this”的上下文是什么
- JS/Node:- 使用 node.io 选择标记
- JavaScript 如何让节点在返回 node.js/Node-RED 之前等待
- 处理快速连续的函数调用 - Javascript / underscore.js / node.js
- 如何在一台服务器中运行不同的.js文件.js NODE JS中的文件
- JS node-mysql bools 表现得很奇怪
- Node.js+Node Webkit+基于Node串行端口的应用程序-这可能吗
- 如何在Express.js/Node.js中检查查询字符串是否有值
- Express.Js, Node.Js, MongoDB Questions
- 在JS/Node中,当多个人编辑相同的记录时,如何避免数据冲突?有图案吗
- 服务器端js(node.js)上的同步
- 将参数从jade发送到js/node
- angular.js+node.js/electron中的Promise;不起作用
- 是否有可能确定我的应用程序的aws实例使用js/node aws-sdk
- Image Magick模块抛出奇怪的错误(Express js Node js)
- 用JS (Node.js)读取文本文件'