快速了解Node中的Stream流是什么
Stream
Buffer 的工作原理
- Data 是一塊大數(shù)據(jù)
- 他被分為很多個(gè)小數(shù)據(jù)
- 每塊小數(shù)據(jù)都被存儲(chǔ)在內(nèi)存中的 Buffer 中
- 接著 Buffer 不斷接收小數(shù)據(jù)
- 同時(shí)一旦 Buffer 接收的小數(shù)據(jù)填滿了就會(huì)被消費(fèi)
- 填滿的 Buffer 也被稱為一個(gè) Chunk
- 所有 Chunk 組合而成的才是那塊 Data 大數(shù)據(jù)
Stream 的分類
- Read Stream
- Write Stream
- Duplex
- Transform
Duplex 實(shí)際上就是有兩個(gè) Buffer 一個(gè)處理 ReadStream 另一個(gè)是處理 WriteStream;典型的例子就是 Network Socket
Transform 實(shí)際上有三個(gè) Buffer 串聯(lián)一起,中間的 Buffer 實(shí)際上就是類似中轉(zhuǎn)的運(yùn)輸作用,也可以從中修改數(shù)據(jù);典型的例子就是 encoding/decoding, Compressing/Decompressing, Filtering data, JS to JSON
pipe
pipe 的概念就相當(dāng)于一個(gè)“水管”,將 readable 連接至 writable
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請查看下面相關(guān)鏈接
相關(guān)文章
koa-router路由參數(shù)和前端路由的結(jié)合詳解
這篇文章主要給大家介紹了關(guān)于koa-router路由參數(shù)和前端路由的結(jié)合的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用koa-router具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2019-05-05Express進(jìn)階之log4js實(shí)用入門指南
本篇文章主要介紹了Express進(jìn)階之log4js實(shí)用入門指南,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-02-02淺談Node.js ORM框架Sequlize之表間關(guān)系
下面小編就為大家?guī)硪黄獪\談Node.js ORM框架Sequlize之表間關(guān)系。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-07-07Node.js學(xué)習(xí)之內(nèi)置模塊fs用法示例
這篇文章主要介紹了Node.js學(xué)習(xí)之內(nèi)置模塊fs用法,結(jié)合實(shí)例形式詳細(xì)分析了node.js內(nèi)置模塊fs的基本功能、用法與相關(guān)操作注意事項(xiàng),需要的朋友可以參考下2020-01-01node靜態(tài)服務(wù)器實(shí)現(xiàn)靜態(tài)讀取文件或文件夾
這篇文章主要介紹了node靜態(tài)服務(wù)器實(shí)現(xiàn)靜態(tài)讀取文件或文件夾,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-12-12如何用Node.js編寫內(nèi)存效率高的應(yīng)用程序
這篇文章主要介紹了如何用Node.js編寫內(nèi)存效率高的應(yīng)用程序,對Node.js感興趣的同學(xué),可以參考下2021-04-04