0

インメモリ DB を使用して応答をストリーミングするにはどうすればよいですか?

Loki JS をインメモリ DB として使用しています。テーブルの内容全体を返さなければならない特定のリソースがあり (ページ分割できません)、そのテーブルは 500,000 アイテム程度 (約 300 MB) まで大きくなる可能性があります。

別のケースでは、fs.createReadStream を使用してファイルを取得し、それをユーザーにストリーム配信しました。

fs.createReadStream('zips.json')
  .on('data', function() {
    res.write(...)
  })
  .on('end', function() {
    res.end();
  })

これは大きなファイルに対してうまく機能しましたが、インメモリ DB を使用して同等のことを行うにはどうすればよいでしょうか?

const items = lokiDb.addCollection('items');
items.insert('a bunch of items ...');

// I would now like to stream items via res.write
res.write(items)

現在、res.write(items)ノードは応答全体を一度に返そうとしているため、メモリの問題が発生します。

4

2 に答える 2