当前位置:网站首页>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 .
边栏推荐
- Solana chain application crema was shut down due to hacker attacks
- 攻防世界 MISC 进阶区 3-11
- About stack area, heap area, global area, text constant area and program code area
- Google Earth engine (GEE) -- take modis/006/mcd19a2 as an example to batch download the daily mean, maximum, minimum, standard deviation, statistical analysis of variance and CSV download of daily AOD
- Now MySQL cdc2.1 is parsing the datetime class with a value of 0000-00-00 00:00:00
- 【OpenGL】笔记二十九、抗锯齿(MSAA)
- Attack and defense world misc advanced area can_ has_ stdio?
- Sobel filter
- High school physics: linear motion
- 【室友用一局王者荣耀的时间学会了用BI报表数据处理】
猜你喜欢

质量体系建设之路的分分合合
![[OpenGL] note 29 anti aliasing (MSAA)](/img/66/61f29e1c41d3099d55e2ead0a3b01e.png)
[OpenGL] note 29 anti aliasing (MSAA)

Redis入门完整教程:键管理

Install the gold warehouse database of NPC

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

Redis入门完整教程:Pipeline

SPSS installation and activation tutorial (including network disk link)

UML diagram memory skills
![[machine learning] handwritten digit recognition](/img/26/cabdc5c92035181d82f6f809e6df0f.png)
[machine learning] handwritten digit recognition

Redis入门完整教程:HyperLogLog
随机推荐
Analysis of the self increasing and self decreasing of C language function parameters
The Sandbox 和数字好莱坞达成合作,通过人力资源开发加速创作者经济的发展
LOGO特训营 第四节 字体设计的重要性
MYSQL架构——用户权限与管理
9 - 类
High school physics: linear motion
企业如何跨越数字化鸿沟?尽在云原生2.0
Redis入门完整教程:哈希说明
Redis: redis configuration file related configuration and redis persistence
串口数据帧
Li Kou 98: verify binary search tree
Detailed explanation of flask context
Redis入门完整教程:Bitmaps
Hit the core in the advanced area of misc in the attack and defense world
Install the gold warehouse database of NPC
Logo special training camp Section IV importance of font design
特征缩放 标准化 归一化
md5工具类
Locust performance test - environment construction and use
Advanced area a of attack and defense world misc Masters_ good_ idea