node.jsstreamsnode
Node.js Streams - 대용량 데이터 효율적 처리
조회 0
Node.js Streams는 대용량 데이터를 메모리 효율적으로 처리할 수 있게 해줍니다.
파일 읽기/쓰기, HTTP 요청/응답 등에서 스트림을 활용하면 메모리 사용량을 크게 줄일 수 있습니다.
1. 스트림 타입
- Readable: 데이터를 읽을 수 있는 스트림
- Writable: 데이터를 쓸 수 있는 스트림
- Duplex: 읽기/쓰기 모두 가능
- Transform: 데이터를 변환하는 스트림
2. 파일 스트림
const fs = require("fs");
// 읽기 스트림
const readStream = fs.createReadStream("large-file.txt");
readStream.on("data", (chunk) => {
console.log(`받은 데이터: ${chunk.length} bytes`);
});
readStream.on("end", () => {
console.log("읽기 완료");
});
// 쓰기 스트림
const writeStream = fs.createWriteStream("output.txt");
writeStream.write("Hello");
writeStream.end();
3. 파이프
const fs = require("fs");
fs.createReadStream("input.txt")
.pipe(fs.createWriteStream("output.txt"));
4. Transform 스트림
{ } = ();
upperCaseTransform = ({
() {
.(chunk.().());
();
},
});
process..(upperCaseTransform).(process.);