当前位置:网站首页>Redis démarrer le tutoriel complet: Pipeline

Redis démarrer le tutoriel complet: Pipeline

2022-07-04 22:52:00 Gu Ge Academy

3.3.1 PipelineConcept
RedisL'exécution d'une commande par le client est divisée en quatre processus::
1)Envoyer une commande
2)File d'attente des commandes
3)Exécution des commandes
4)Retour aux résultats
Parmi eux1)+4)AppeléRound Trip Time(RTT,Temps aller - retour).
RedisCommande d'opération par lots fournie(Par exemplemget、msetAttendez.),Économiser efficacementRTT.Mais...
La plupart des commandes ne supportent pas les opérations par lots,Par exemple, pour exécuternUne foishgetallLes ordres,Non.
mhgetallL'ordre existe.,Consommation requisenUne foisRTT.RedisLes clients et les serveurs de peuvent être déployés dans
Sur la même machine.Par exemple, le client est à Pékin,RedisLe serveur est à Shanghai,La distance linéaire entre les deux endroits est d'environ
1300Km,Alors1Une foisRTTTemps=1300×2/(300000×2/3)=13MS(La lumière dans le vide
La vitesse de transmission est de3010 000 km,Supposons que la fibre optique soit la vitesse de la lumière2/3),Donc le client1Secondes
L'intérieur ne peut être exécuté que80Ordre de gauche à droite,Ceci etRedisLa caractéristique de débit élevé et simultané de
Allez..
Pipeline(Pipeline)Le mécanisme peut améliorer ces problèmes,Il peut rassembler un groupe deRedisOrdre d'entrer
Assemblage en ligne,Une foisRTTTransmission àRedis,Encore un groupe deRedisLes résultats de l'exécution des commandes sont séquentiels
Retour au client,Fig.3-5Pour non utiliséPipelineMise en œuvrenCommandes,Tout le processus exigenUne fois
RTT.

 Fig.3-6Pour utilisationPipelineMise en œuvrenOrdre secondaire,Tout le processus exige1Une foisRTT.
PipelineCe n'est pas une nouvelle technologie ou un nouveau mécanisme,Beaucoup de techniques ont été utilisées.EtRTT
Il peut y avoir des différences dans différents environnements de réseau,Par exemple, la salle des machines et la même machine seront plus rapides, Cross - Computer Room Cross - area
Ça va être lent..RedisLe temps d'exécution réel de la commande est généralement au niveau microseconde,C'est pour ça qu'il y aRedisSexe
Le goulot d'étranglement est le réseau. .
redis-cliDe--pipe L'option est en fait d'utiliser PipelineMécanismes, Par exemple, les actions suivantes: set
hello worldEtincr counter Assemblage de deux commandes :
echo -en '*3\r\n$3\r\nSET\r\n$5\r\nhello\r\n$5\r\nworld\r\n*2\r\n$4\r\nincr\r\
n$7\r\ncounter\r\n' | redis-cli --pipe

Mais la plupart des développeurs ont tendance à utiliser Pipeline,Actuellement grande
SectionRedis Prise en charge des clients Pipeline,No4 Chapitre nous allons vous montrer comment JavaDeRedisInvité
MénagesJedisUtiliserPipelineFonction.

3.3.2 Essais de performance
Tableau3-1 Dans différents environnements de réseau PipelineEtPipelineMise en œuvre10000Une foissetFonctionnement
Effets de, Deux conclusions peuvent être tirées: :
·PipelineL'exécution est généralement plus rapide que l'exécution article par article.
·Plus le délai réseau du client et du serveur est long,PipelinePlus l'effet est évident.

Les chiffres spécifiques peuvent varier selon l'environnement d'essai. ,Ce testPipeline À chaque fois.
Avec100Commandes.

 3.3.3 Commande de lot Native etPipelineComparer
Peut être utiliséPipeline Simuler l'effet de l'opération par lots , Mais il faut veiller à ce qu'il soit compatible avec l'original.
Différences dans la génération de commandes par lots , Les points suivants sont inclus: :
·La commande Native Batch est atomique,PipelineNon atomique.
·La commande Native Batch est une commande qui correspond à plusieurskey,PipelinePrise en charge de plusieurs commandes.
·La commande Native Batch estRedisLe serveur prend en charge la mise en œuvre de,EtPipelineBesoin d'un serveur et d'un client
Mise en œuvre commune de l'extrémité.

3.3.4 Meilleures pratiques
PipelineBien que bon à utiliser,Mais à chaque foisPipelineLe nombre de commandes assemblées ne peut être illimité,Non
Ensuite, Assemblez - le une foisPipelineTrop de données,D'une part, cela augmente le temps d'attente des clients,De l'autre côté
Les faces peuvent causer une certaine congestion du réseau,Peut contenir un grand nombre de commandes à la foisPipelineDivisé en plusieurs
Plus petitPipelinePour finir.
PipelineUn seulRedisExemple,Mais même dans la distributionRedisDans la scène,Oui.
En tant que moyen important d'optimisation des opérations par lots, Pour plus de détails, voir la Section 11Chapitre.

原网站

版权声明
本文为[Gu Ge Academy]所创,转载请带上原文链接,感谢
https://yzsam.com/2022/185/202207042229263590.html