Heim  >  Artikel  >  Web-Frontend  >  Was ist ein Pufferobjekt in node.js? Was ist das Nutzungsszenario?

Was ist ein Pufferobjekt in node.js? Was ist das Nutzungsszenario?

青灯夜游
青灯夜游nach vorne
2021-07-28 18:41:371958Durchsuche

Dieser Artikel stellt Ihnen das Buffer-Objekt in node.js vor und zeigt Ihnen, welche Verwendungsszenarien das Buffer-Objekt hat und welche Vorteile es hat.

Was ist ein Pufferobjekt in node.js? Was ist das Nutzungsszenario?

Pufferobjekt ist das Kernmodul von Node. Es ist auch eine häufig gestellte Testfrage. Wenn Sie sich nicht eingehend damit befassen, können Sie es einfach wie ich verwenden und stellt einige Fragen: Nicht mehr. Zu diesem Zeitpunkt konnte ich jedenfalls nur antworten: Das Buffer-Modul wird im aktuellen Geschäft selten verwendet, aber das Buffer-Objekt kann einige Geschäftsfunktionen und die Leistung effektiv optimieren, die durch die String-Übertragung nicht erfüllt werden können. [Empfohlenes Lernen: „nodejs-Tutorial“]

Lassen Sie uns also heute etwas über das Buffer-Objekt lernen.

Pufferobjekt

Das Pufferobjekt wird zur Darstellung einer Bytesequenz fester Länge verwendet.

Jedes Element im Pufferobjekt ist eine zweistellige Hexadezimalzahl (d. h. ein Wert von 0 bis 255).

Wenn der einem Element des Puffers zugewiesene Wert kleiner als 0 ist, werden 256 nacheinander hinzugefügt, bis a Wenn der Wert des Bereichs größer als 255 ist, subtrahieren Sie nacheinander 256, bis der Wert im Bereich von 0 bis 255 erhalten wird. Wenn es sich um eine Dezimalzahl handelt, wird er direkt gerundet.

Nutzungsszenarien

Kann zur Verarbeitung großer Mengen binärer Daten verwendet werden
  • Verarbeitung von Bildern, Empfang und Hochladen von Dateien, Netzwerkprotokollen usw.

Vorteile

Während Netzwerkübertragung , die Leistung wird verbessert

Die meisten Netzwerkübertragungen verwenden Zeichenfolgen, die zwangsläufig in Puffer umgewandelt werden müssen, um Daten im Binärformat zu übertragen. Wenn wir es vor der Übertragung direkt in einen Puffer umwandeln, ist während des Übertragungsprozesses keine zusätzliche Konvertierung erforderlich, und Verluste werden vermieden, was die Leistung verbessert.

Das Folgende ist ein Leistungstest durch ab und das Ergebnis der Initiierung von 200 gleichzeitigen Client-Anfragen. Die QPS-Verbesserung ist nicht sehr hoch, aber es gibt immer noch eine leichte Verbesserung. Sie können den Code kopieren und ausführen, um zu sehen, ob das Ergebnis stimmt ist das gleiche wie meins

Was ist ein Pufferobjekt in node.js? Was ist das Nutzungsszenario?

// 创建一个长度为 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>
Was ist ein Pufferobjekt in node.js? Was ist das Nutzungsszenario?

Stream ist auch das Kernmodul von Node. Stream ist eine Abstraktion von Eingabe- und Ausgabegeräten einer geordneten Byte-Datenübertragung mit einem Startpunkt und einem Endpunkt.

Es gibt vier grundlegende Stream-Typen in Node.js:

Writable – ein Stream, der Daten schreiben kann (z. B. fs.createWriteStream())

Readable – ein Stream, der Daten lesen kann (z. B. fs.createReadStream( ) ).

    Duplex – ein les- und beschreibbarer Stream (z. B. net.Socket).
  • Transformieren –
  • Stream, der Daten während des Lese- und Schreibvorgangs ändern oder konvertieren kann.
  • Szenario:
  • DuplexTeilweises Hoch- und Herunterladen von Dateien. Wenn Sie beispielsweise einen Film herunterladen, können Sie ihn während des Herunterladens ansehen, eine solche Implementierung Verfahren.

Ursprüngliche Adresse: https://juejin.cn/post/6955490895131066382

Weitere Programmierkenntnisse finden Sie unter:
Einführung in die Programmierung

! !

Das obige ist der detaillierte Inhalt vonWas ist ein Pufferobjekt in node.js? Was ist das Nutzungsszenario?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:juejin.cn. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen