如何解析大数据?

时间:2015-08-01 09:40:40

标签: javascript node.js express

我有一个express.js申请。用户请求mysite.com/something,他们会收到大量文字。在每个请求之后,我需要解析数据(例如,在文本中查找某些内容并将其放入我的Redis数据库中)。

app.get('something', function (req, res) {
    var data = //getting data
    res.send(data);
    //parsing data
});

问题是解析数据需要花费太多时间并且它是同步的,这意味着用户必须等到它完成获取数据。

有没有办法解析另一个.js文件中的数据并允许用户立即获得结果?

1 个答案:

答案 0 :(得分:2)

如果数据量很大,您应该考虑使用节点流来解析它。使用through2轻松创建转换流。使用流,您将一次处理一个数据块(一个对象,一个csv行,一个xml标记),然后立即将其流式传输到响应块。

此外,您不应在应用中使用任何同步代码。一切都应该是异步的。