【问题标题】:Other purposes of data streaming besides videos/audio除了视频/音频之外的数据流的其他用途
【发布时间】:2021-09-06 20:21:45
【问题描述】:

我试图了解流式传输的目的(主要是从服务器到浏览器或应用程序等可视客户端)。我很清楚发送数据块而不是等待所有数据到达的基本概念。我可以很容易地想到加载音频或视频,甚至是照片等用例。但是还有其他用例吗?用于发送文本数据或 jsons?

【问题讨论】:

    标签: javascript node.js stream streaming


    【解决方案1】:

    我已经使用流式传输从 mysql 表中发送所有记录。所以想象一下有数百万条记录,你想将所有记录提取到一个 csv 文件中。在这个用例中,您不能在没有任何过滤器/限制/偏移的情况下执行原始 findAll,因为它会尝试将所有记录放入内存,并且当表变大时它会不适合。

    所以我没有使用一个 findAll,而是做了几个 findAll,每个返回大约 50k 条记录,因为我使用了 limit 和 offset。在每次查询之后,我将 50k 条记录块发送到流中,然后再次查询另外 50k 条记录。以递归方式执行此操作,直到没有更多记录(通过限制和偏移量控制)。 我有一个休息端点,所以当用户点击端点时,它会下载包含所有表记录的 .csv 文件。

    我在 postgres 中找到了一篇关于它的文章:https://medium.com/geoblinktech/how-to-export-a-postgresql-table-as-csv-with-node-js-streams-578d53434e80(这使用了 COPY 运算符)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-12-31
      • 2018-10-13
      • 2012-02-23
      • 2011-06-08
      相关资源
      最近更新 更多