Maison >base de données >Redis >Pourquoi Redis monothread est-il plus rapide ?

Pourquoi Redis monothread est-il plus rapide ?

WBOY
WBOYavant
2023-05-27 15:49:121209parcourir

Pourquoi Redis à thread unique est-il si rapide ?

Quelle est la vitesse de Redis ? La réponse officielle est que la vitesse de lecture et d'écriture est de 100 000/seconde. Si cela est le résultat d'une exécution dans une situation à thread unique, le feriez-vous. ? Surpris ? Pourquoi Redis monothread est-il si rapide ? Les raisons sont les suivantes :

  • Fonctionnement en mémoire pure : Redis est entièrement basé sur la mémoire, donc l'efficacité de lecture et d'écriture est très élevée, bien sûr, Redis a des opérations de persistance. .En persistance Les opérations sont toutes effectuées en forçant des processus enfants et en utilisant la technologie de cache de pages du système Linux, et n'affecteront pas les performances de Redis.

  • Opération monothread : le monothreading n'est pas une mauvaise chose. Le monothreading peut éviter des changements de contexte fréquents, ce qui affectera également les performances.

  • Structure de données raisonnable et efficace

  • adopte un mécanisme de multiplexage d'E/S non bloquant : le modèle de multiplexage d'E/S multicanal utilise select, poll et epoll pour surveiller les E/S de plusieurs flux à en même temps, la capacité d'événement O bloquera le thread actuel lorsqu'il est inactif Lorsqu'un ou plusieurs flux ont des événements d'E/S, il sortira de l'état bloqué, de sorte que le programme interrogera tous les flux (epoll Il interroge uniquement ces flux). qui a réellement émis des événements), et ne traite que les flux prêts en séquence. Cette approche évite de nombreuses opérations inutiles.

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