当前位置:网站首页>A complete tutorial for getting started with redis: Pipeline
A complete tutorial for getting started with redis: Pipeline
2022-07-04 22:53:00 【Gu Ge academic】
3.3.1 Pipeline Concept
Redis The client execution of a command is divided into the following four processes :
1) dispatch orders
2) Order to line up
3) Command execution
4) Return results
among 1)+4) be called Round Trip Time(RTT, Round trip time ).
Redis Batch operation commands are provided ( for example mget、mset etc. ), Save effectively RTT. but
Most commands do not support batch operations , For example, to perform n Time hgetall command , did not
mhgetall Command exists , Need to consume n Time RTT.Redis The client and server of may be deployed in different places
On the same machine . For example, the client is in Beijing ,Redis The server is in Shanghai , The straight-line distance between the two places is about
1300 km , that 1 Time RTT Time =1300×2/(300000×2/3)=13 millisecond ( Light in a vacuum
The transmission speed is per second 30 Thousands of kilometers , Let's say the fiber is at the speed of light 2/3), So the client is 1 second
Can only be carried out in about 80 The next order or so , This and Redis The high concurrency and high throughput of
Chi .
Pipeline( Assembly line ) The mechanism can improve the above problems , It can combine a group of Redis Order to enter
Row assembly , Through a RTT Transferred to the Redis, Will this group again Redis The execution results of commands are in order
Return to the client , chart 3-5 Is not used Pipeline Yes n Bar command , The whole process needs n Time
RTT.

chart 3-6 For the use of Pipeline Yes n subcommand , The whole process needs 1 Time RTT.
Pipeline It's not a new technology or mechanism , Many technologies have been used . and RTT
In different network environments, there will be different , For example, the machine room and the same machine will be faster , Cross machine room and cross region
It will be slow .Redis The actual execution time of the command is usually at the microsecond level , That's why there is Redis sex
The bottleneck is the network .
redis-cli Of --pipe Option is actually using Pipeline Mechanism , For example, the following operation will set
hello world and incr counter Two commands assemble :
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
But most developers prefer to use... In high-level language clients Pipeline, At present, the
part Redis All clients support Pipeline, The first 4 In chapter, we will introduce how to pass Java Of Redis customer
Home end Jedis Use Pipeline function .
3.3.2 Performance testing
surface 3-1 The non Pipeline and Pipeline perform 10000 Time set operation
The effect of , Two conclusions can be drawn as follows :
·Pipeline Execution speed is generally faster than item by item execution .
· The greater the network delay between the client and the server ,Pipeline The more obvious the effect of .

Due to the different test environment, the specific number may be different , This test Pipeline Carry... Every time
belt 100 Bar command .

3.3.3 Native batch command and Pipeline contrast
have access to Pipeline Simulate the effect of batch operation , But when using it, we should pay attention to its relationship with the original
The difference between generating batch commands , It includes the following points :
· The native batch command is atomic ,Pipeline It's non atomic .
· A native batch command is a command that corresponds to multiple key,Pipeline Supports multiple commands .
· The native batch command is Redis The server supports the implementation of , and Pipeline The server and the customer are required
The common implementation of the end .
3.3.4 Best practices
Pipeline Although easy to use , But every time Pipeline The number of assembly commands cannot be unlimited , no
One time assembly Pipeline Too much data , On the one hand, it will increase the waiting time of the client , The other side
It can cause a certain amount of network congestion , It's possible to put a Pipeline Split into multiple
smaller Pipeline To complete .
Pipeline Only one can be operated Redis example , But even in distributed Redis Scene , Can also be
As an important optimization means of batch operation , For details, see page 11 Chapter .
边栏推荐
- 攻防世界 MISC 进阶区 hit-the-core
- Redis入门完整教程:键管理
- Redis入门完整教程:客户端通信协议
- Set up a website with a sense of ceremony, and post it to 1/2 of the public network through the intranet
- 【lua】int64的支持
- On-off and on-off of quality system construction
- Google collab trample pit
- Google Earth engine (GEE) - globfire daily fire data set based on mcd64a1
- 10 schemes to ensure interface data security
- Duplicate ADMAS part name
猜你喜欢

Redis入门完整教程:Pipeline

攻防世界 MISC 进阶区 hong

Unity Xiuxian mobile game | Lua dynamic sliding function (specific implementation of three source codes)

Advanced area of attack and defense world misc 3-11

Three stage operations in the attack and defense drill of the blue team
[the 2023 autumn recruitment of MIHA tour] open [the only exclusive internal push code of school recruitment eytuc]

Redis入门完整教程:键管理

SPSS installation and activation tutorial (including network disk link)

新版判断PC和手机端代码,手机端跳转手机端,PC跳转PC端最新有效代码

MySQL Architecture - user rights and management
随机推荐
Redis入门完整教程:Bitmaps
关于栈区、堆区、全局区、文字常量区、程序代码区
It is said that software testing is very simple, but why are there so many dissuasions?
Gnawing down the big bone - sorting (II)
新版判断PC和手机端代码,手机端跳转手机端,PC跳转PC端最新有效代码
Google Earth Engine(GEE)——Tasks升级,实现RUN ALL可以一键下载任务类型中的所有影像
leetcode 72. Edit distance edit distance (medium)
Analysis of environmental encryption technology
Logo special training camp section II collocation relationship between words and graphics
Attack and Defense World MISC Advanced Area Erik baleog and Olaf
Test will: bug classification and promotion solution
Co create a collaborative ecosystem of software and hardware: the "Joint submission" of graphcore IPU and Baidu PaddlePaddle appeared in mlperf
Three stage operations in the attack and defense drill of the blue team
浅聊一下中间件
La prospérité est épuisée, les choses sont bonnes et mauvaises: Où puis - je aller pour un chef de station personnel?
剑指 Offer 65. 不用加减乘除做加法
蓝队攻防演练中的三段作战
Attack and defense world misc advanced zone 2017_ Dating_ in_ Singapore
特征缩放 标准化 归一化
繁華落盡、物是人非:個人站長該何去何從