当前位置:网站首页>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.
边栏推荐
- 剑指Offer 68 - II. 二叉树的最近公共祖先
- 剑指 Offer 65. 不用加减乘除做加法
- Redis入门完整教程:有序集合详解
- Attack and Defense World MISC Advanced Area Erik baleog and Olaf
- Google Earth Engine(GEE)——以MODIS/006/MCD19A2为例批量下载逐天AOD数据逐天的均值、最大值、最小值、标准差、方差统计分析和CSV下载(北京市各区为例)
- Sword finger offer 68 - ii The nearest common ancestor of binary tree
- Unity修仙手游 | lua动态滑动功能(3种源码具体实现)
- Prosperity is exhausted, things are right and people are wrong: where should personal webmasters go
- Attack and defense world misc advanced grace-50
- Three stage operations in the attack and defense drill of the blue team
猜你喜欢
Persistence mechanism of redis
Redis入门完整教程:键管理
Attack and defense world misc master advanced zone 001 normal_ png
Unity-VScode-Emmylua配置报错解决
Li Kou 98: verify binary search tree
Erik baleog and Olaf, advanced area of misc in the attack and defense world
LOGO特训营 第四节 字体设计的重要性
安装人大金仓数据库
共创软硬件协同生态:Graphcore IPU与百度飞桨的“联合提交”亮相MLPerf
PMO: compare the sample efficiency of 25 molecular optimization methods
随机推荐
The overview and definition of clusters can be seen at a glance
华泰证券是国家认可的券商吗?开户安不安全?
Deployment of JVM sandbox repeater
9 - class
浅聊一下中间件
Advanced area of attack and defense world misc 3-11
Talk about Middleware
堆排序代码详解
leetcode 72. Edit Distance 编辑距离(中等)
Gnawing down the big bone - sorting (II)
新版判断PC和手机端代码,手机端跳转手机端,PC跳转PC端最新有效代码
Practice and principle of PostgreSQL join
La prospérité est épuisée, les choses sont bonnes et mauvaises: Où puis - je aller pour un chef de station personnel?
Google Earth engine (GEE) - tasks upgrade enables run all to download all images in task types with one click
LOGO特训营 第五节 字体结构与设计常用技法
Google Earth engine (GEE) - globfire daily fire data set based on mcd64a1
[roommate learned to use Bi report data processing in the time of King glory in one game]
Wake up day, how do I step by step towards the road of software testing
Unity Xiuxian mobile game | Lua dynamic sliding function (specific implementation of three source codes)
Unity修仙手游 | lua动态滑动功能(3种源码具体实现)