Backend2024년 4월 15일1분 읽기

Node.js 스트림 처리 — 대용량 파일을 메모리 걱정 없이

YS
YoungSam
조회 748

스트림이 필요한 이유

1GB 파일을 fs.readFile로 읽으면 메모리에 1GB가 올라갑니다. 스트림을 사용하면 청크 단위로 처리하여 메모리 사용량을 수십 MB로 줄일 수 있습니다.

기본 사용법

const fs = require("fs");
const readStream = fs.createReadStream("large.csv");
readStream.on("data", (chunk) => {
  // 청크 단위 처리
  processChunk(chunk);
});

파이프라인 패턴

const { pipeline } = require("stream/promises");
await pipeline(
  fs.createReadStream("input.csv"),
  transformStream,
  fs.createWriteStream("output.csv")
);
Node.jsStreamPerformance

댓글 0

아직 댓글이 없습니다.