Maison  >  Article  >  interface Web  >  Pourquoi node.js introduit-il un tampon ? Brève analyse du tampon tampon

Pourquoi node.js introduit-il un tampon ? Brève analyse du tampon tampon

青灯夜游
青灯夜游avant
2021-08-04 10:05:141994parcourir

Cet article vous amènera à comprendre le tampon tampon dans node.js et à expliquer pourquoi le tampon est introduit dans node.js, dans quels scénarios le serveur de nœuds a besoin d'une mise en mémoire tampon, etc.

Pourquoi node.js introduit-il un tampon ? Brève analyse du tampon tampon

Pourquoi buffer est-il introduit dans node.js

La signification anglaise de buffer

buffer en anglais signifie mise en mémoire tampon et mise en cache. À partir de cette signification, nous pouvons d'abord comprendre que buffer est introduit dans Buffering. est effectué sur le serveur de nœud. [Apprentissage recommandé : "Tutoriel Nodejs"]

Dans quels scénarios le serveur de nœud a-t-il besoin d'une mise en mémoire tampon

Étant donné que le nœud est utilisé comme serveur, il doit gérer les requêtes réseau (net, http) et fonctionner les systèmes de fichiers (fs, readline), gèrent des scènes telles que le téléchargement et le téléchargement d'images et de fichiers. Le nœud sélectionne js et le moteur V8 est nécessaire pour exécuter js. Le puissant moteur V8 n'est-il pas capable de faire le travail ?

Limites du V8

Pourquoi le V8 a-t-il des limitations ? V8 est né pour le navigateur Chrome, utilisé pour afficher des pages Web. Pour l'affichage de pages Web, V8 est conçu pour utiliser environ 1,4 Go de mémoire sous le système d'exploitation 64 bits et environ 0,7 Go de mémoire sous le système d'exploitation 32 bits. système d'exploitation. La taille de la mémoire est suffisante pour l'affichage des pages Web, mais elle sera insuffisante pour une utilisation côté serveur.

La couche inférieure du nœud utilise C++ pour allouer de la mémoire

Étant donné que la V8 limite l'utilisation de la mémoire, la couche inférieure du nœud utilise C++ pour allouer de la mémoire. Il est vrai qu'une plus grande mémoire peut être obtenue, mais je l'ai dit. : Tao peut être dit, mais c'est très Tao. Le nom peut être nommé, mais il n'est pas nommé de la même manière, si la mémoire allouée a une certaine taille, elle sera remplie, bloquée et le service sera lent ou même un crash.

Comment le tampon gère-t-il le scénario ci-dessus ?

Mars Immigration

Imaginez ce scénario Un milliard de créatures (caractères anglais, caractères chinois, caractères arabes, etc.) sur la terre (lecteur C). doivent être transférés sur Mars (disque D), nous avons établi une station spatiale entre la Terre et Mars pouvant accueillir 10 millions d'organismes (mémoire) si 1 milliard d'organismes entrent dans la station spatiale en même temps, ce sera un désastre ; (effondrement) ; le vaisseau spatial terrestre (tampon) La zone tampon) a 1 000 positions (octets) pour transporter les organismes vers la station spatiale ; puis le vaisseau spatial vers Mars (tampon) a 1 000 emplacements (octets) pour transporter les organismes vers Mars.

Extraction de concepts

  • Buffer : est utilisé pour représenter une séquence d'octets de longueur fixe, comme : un vaisseau spatial avec 1000 positions fixesBuffer: 用于表示固定长度的字节序列,好比:固定1000个位置的飞船
  • UTF-8:
  • UTF-8 : est une méthode de codage de longueur variable. Il peut utiliser 1 à 4 octets pour représenter un symbole, et la longueur des octets varie en fonction des différents symboles. Par exemple : le vaisseau spatial stipulera que les créatures anglaises occupent 1 position, les créatures à caractères chinois occupent 2 ou 3, 4 positions

Adresse originale : https://juejin.cn/post/6991495867219836936

Auteur : LE

Pour plus de connaissances liées à la programmation, veuillez visiter : Introduction à la programmation

 ! ! 🎜

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer