Maison > base de données > Redis > Pourquoi Redis est monothread

Pourquoi Redis est monothread

(*-*)浩
Libérer: 2019-06-17 13:36:18
original
5401 Les gens l'ont consulté

Alors pourquoi Redis est-il monothread ?

Pourquoi Redis est monothread 
Il faut d'abord comprendre que Redis est rapide ! La FAQ officielle indique que, comme Redis est une opération basée sur la mémoire, le processeur n'est pas le goulot d'étranglement de Redis. Le goulot d'étranglement de Redis est très probablement être la taille de la mémoire de la machine ou la bande passante du réseau. Puisque le monothreading est facile à mettre en œuvre et que le CPU ne deviendra pas un goulot d'étranglement, il est logique d'adopter une solution monothread (après tout, utiliser le multithreading causera beaucoup de problèmes !) . (Apprentissage recommandé : Tutoriel vidéo Redis)

En voyant cela, vous risquez de pleurer de colère ! Je pensais qu'il y aurait des points techniques majeurs qui rendraient Redis si rapide en utilisant un seul thread, mais je ne m'attendais pas à une réponse officielle qui semblerait nous tromper ! Cependant, nous pouvons déjà expliquer clairement pourquoi Redis est si rapide, et précisément parce qu'il est déjà rapide en mode monothread, il n'est pas nécessaire d'utiliser le multi-threading !

Cependant, notre approche monothread ne peut pas tirer parti des performances du processeur multicœur, mais nous pouvons l'améliorer en ouvrant plusieurs instances Redis sur une seule machine !

Avertissement 1 : Le thread unique que nous avons souligné ici n'a qu'un seul thread pour traiter nos requêtes réseau Lorsqu'un serveur Redis formel est en cours d'exécution, il doit y avoir plus d'un thread. un fil de discussion, tout le monde doit y prêter une attention particulière ! Par exemple, lorsque Redis est persistant, il sera exécuté en tant que sous-processus ou sous-thread (le sous-thread ou sous-processus spécifique doit être étudié en profondeur par le lecteur
 
Le " ); -T" de la commande ps indique le thread d'affichage (Afficher les threads, éventuellement avec la colonne SPID.) La colonne "SID" indique l'ID du thread et la colonne "CMD" affiche le nom du thread.

Avertissement 2 : Le dernier paragraphe de la FAQ officielle indique que le multi-threading sera supporté à partir de la version 4.0 de Redis. Cependant, les opérations multi-threading ne sont effectuées que sur certaines opérations ! Par conséquent, les lecteurs doivent vérifier si cet article sera toujours monothread dans les versions futures !

Pour plus d'articles techniques liés à Redis, veuillez visiter la colonne Introduction au didacticiel d'utilisation de la base de données Redis pour apprendre !

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal