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);
});