Node.js のストリームは、特に大量のデータを扱う場合に、I/O 操作を効率的に処理する強力な方法です。ストリームを使用すると、一度にデータの読み取りと書き込みを行うのではなく、データを分割して処理できるため、パフォーマンスが向上し、メモリ消費量が削減されます。
Node.js は 4 種類のストリームを提供します。
Stream Type | Description | Example |
---|---|---|
Readable Streams | Used for reading data | Reading from a file |
Writable Streams | Used for writing data | Writing to a file |
Duplex Streams | Both readable and writable | Sockets |
Transform Streams | A type of duplex stream where data can be modified as it is read or written | Compression |
読み取り可能なストリーム
end
const fs = require('fs'); const readableStream = fs.createReadStream('example.txt', { encoding: 'utf8' }); readableStream.on('data', (chunk) => { console.log('Received chunk:', chunk); }); readableStream.on('end', () => { console.log('No more data.'); }); readableStream.on('error', (err) => { console.error('Error:', err); });
const fs = require('fs'); const writableStream = fs.createWriteStream('output.txt'); writableStream.write('Hello, Node.js streams!\n'); writableStream.end(); // Close the stream writableStream.on('finish', () => { console.log('Finished writing.'); }); writableStream.on('error', (err) => { console.error('Error:', err); });
readableStream.pipe(writableStream);
ストリームは、大量のデータを効率的に処理するのに役立ちます。たとえば、ファイルを操作する場合、ストリームを使用すると、ファイル全体をメモリにロードする必要がなくなります。これは、メディア ファイル、大きなデータセット、または HTTP リクエストからのデータを処理する場合に特に役立ちます。
最後のヒント
以上がNode.js のストリーム - チュートリアル - パート 7の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。