Node.js
NodeJS - 파이프라인
Marmellata
2023. 6. 1. 15:52
파이프
- 관, 흐름 통로
파이프 라인 이란 파이프를 연결 시킨다는 의미
직렬 X, 병렬 O.
병렬로 만들겠다는 의미.
pipe
readStream 으로 읽어와 .pipe로 writeStream 을 진행해 새로 .txt 파일을 작성한다.
const fs = require('fs');
const readStream = fs.createReadStream('readmeTest.txt');
const writeStream = fs.createWriteStream('writeFire.txt');
readStream.pipe(writeStream);
writeFire.txt 파일 결과
노드 정말 그지같아요~~😛😛😌😴
😛😛😌😴😛😛😌😴😛😛😌😴
createbigfile
const fs = require('fs');
const file = fs.createWriteStream('./bigTest.txt');
for (let i = 0; i <= 1000000; i++) {
file.write('안녕하세요 🍕🍔🍟🌭🍿🧂🥓🥚🥯🥨🥐🍞🧈🥞🧇🍳🥖🧀🥗🥙🥪🌮🌯🥫\n');
}
file.end();
buffer-memory
const fs = require('fs');
console.log('before : ', process.memoryUsage().rss);
const data1 = fs.readFileSync('./bigTest.txt');
fs.writeFileSync('./bigTest2.txt', data1);
console.log('buffer :', process.memoryUsage().rss);
stream-memory
stream을 사용하면 메모리 사용량이 비교적 적다.
const fs = require('fs');
console.log('before :', process.memoryUsage().rss);
const readStream = fs.createReadStream('./bigTest.txt');
const writeStream = fs.createWriteStream('./bigTest3.txt');
readStream.pipe(writeStream);
readStream.on('end', () => {
console.log('stream: ', process.memoryUsage().rss);
});