站長資訊網
        最全最豐富的資訊網站

        node.js中什么是Buffer對象?使用場景是什么

        本篇文章給大家介紹一下node.js中的Buffer對象,看看Buffer對象的使用場景是什么,有哪些優勢。

        node.js中什么是Buffer對象?使用場景是什么

        Buffer對象,是Node的核心模塊,在面試中也是會頻繁被問到一個考題,如果沒有對其深入探究,可能就跟我一樣只會用,一旦面試官擴展問些問題可能就不會了。反正,當時我也只能回答說:目前涉及到的業務對Buffer模塊用的比較少,但是Buffer對象可以對于一些字符串傳輸無法滿足業務功能和性能上得到有效的優化?!就扑]學習:《nodejs 教程》】

        所以,今天學習一下Buffer對象。

        Buffer對象

        Buffer對象用于表示固定長度的字節序列

        // 創建一個長度為 10、以零填充的 Buffer。 const buf1 = Buffer.alloc(10);  // 創建一個長度為 10 的 Buffer, // 其中全部填充了值為 `1` 的字節。 const buf2 = Buffer.alloc(10, 1);  var str="hello Jasen";  var buf = new Buffer.from(str,'utf-8'); console.log(buf);  //輸出:<Buffer 68 65 6c 6c 6f 20 4a 61 73 65 6e>

        觀察輸出的結果,Buffer對象類似一個數組。

        Buffer對象中的每個元素都是16進制的兩位數(即0到255的數值)

        對Buffer某個元素賦值如果小于0的,會逐次加256,直到得到一個0到255范圍的值,如果大于255則逐次減256,直到得到0-255范圍得值,如果是小數的話,則直接取整。

        使用場景

        • 可用于處理大量二進制數據
        • 處理圖片、文件接收上傳、網絡協議等等

        優勢

        網絡傳輸中,性能提升

        大部分網絡傳輸的時候會使用通過使用字符串,這難免需要轉換成Buffer,以二進制方式進行數據傳輸。如果我們直接預先轉換為Buffer 再進行傳輸,那么在傳輸過程中無需做額外的轉換,也避免了損耗,使性能得到提升。

        以下通過ab進行一次性能測試,發起200個并發客戶端請求的結果,QPS提升的不是很高,但還是有一點點的提升,可以復制代碼執行下,是否結果和我一樣

        node.js中什么是Buffer對象?使用場景是什么

        node.js中什么是Buffer對象?使用場景是什么

        var http = require('http'); var str = "";  for (var i = 0; i < 1024 * 10; i++) {     str += "a"; }  str = new Buffer.from(str,'utf-8');  http.createServer(function (req, res) {     res.writeHead(200);     res.end(bufstr); }).listen(8002);

        Buffer與Stream

        Stream 也是Node的核心模塊,數據就像流水一樣,流是對輸入輸出設備的抽象,是一組有序的、有起點和終點的字節數據傳輸手段。

        Node.js 中有四種基本的流類型:

        • Writable – 可寫入數據的流(例如 fs.createWriteStream())
        • Readable – 可讀取數據的流(例如 fs.createReadStream())。
        • Duplex – 可讀又可寫的流(例如 net.Socket)。
        • Transform – 在讀寫過程中可以修改或轉換數據的 Duplex

        場景:

        文件分片上傳下載,比如下載電影時可以邊下載邊看,這樣一個實現過程。

        原文地址:https://juejin.cn/post/6955490895131066382

        贊(0)
        分享到: 更多 (0)
        網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
        主站蜘蛛池模板: 午夜精品在线观看| 亚洲一区精品伊人久久伊人| 尤物国精品午夜福利视频| 欧美一区二区精品| 四虎国产精品永久在线观看 | 亚洲精品无码久久不卡| 99精品国产成人一区二区| 国产成人精品久久二区二区| 亚洲国产精品成人精品无码区在线| 精品乱子伦一区二区三区高清免费播放| 精品999在线| 国产精品久久久亚洲| 亚洲AV永久无码精品成人| 欧美亚洲另类精品第一页| 国产精品夜色视频一级区| 亚洲精品电影网| 久久精品www| 久久91精品久久91综合| 99久久精品国产高清一区二区| 精品久久久久久久中文字幕 | 国产AⅤ精品一区二区三区久久| 国产精品福利自产拍在线观看| 自拍中文精品无码| 污污网站国产精品白丝袜| 久久久久久国产精品美女| 精品人妻少妇一区二区三区不卡| 国产精品污WWW一区二区三区| 午夜精品免费在线观看| 一区二区三区精品| 中文字幕一区二区精品区| 亚洲国产精品自在线一区二区| 欧美精品香蕉在线观看网| 欧美精品国产一区二区| 91午夜精品亚洲一区二区三区| 91精品在线国产| 国产亚洲精品激情都市| 久久精品国产精品亚洲人人 | 在线精品视频播放| 亚洲日本精品一区二区| 四虎国产精品永久地址99新强| 一本久久a久久精品综合夜夜 |