背景
由于对redis缓存中数据有批量操作,例如预热缓存数据,或者在列表页批量去获取缓存数据,在使用了multi批量提交事务后,发现redis压力高居不下,而使用了pipeline之后压力回落了平常,也因为这个案例,特在此写个分析与笔记。

multi
简介
标记一个事务块的开始。
事务块内的多条命令会按照先后顺序被放进一个队列当中,最后由 EXEC 命令原子性(atomic)地执行。
实现原理
我用php扩展调起redis服务,执行,代码如下:
$redis = new redis();
$redis->connect('127.0.0.1',6379);
$handle = $redis->multi();
$handle->incr('a');
$handle->incr('b');
$handle->exec();
为了查看这期间具体的连接过程,用wireshark监听回环地址端口6379,抓包请求如下图所示:
redis客户端与服务端建立连接后,multi标记事务开始,之后每次执行,服务端返回queued队列标志。查看redis源码src/multi.c文件:
void queueMultiCommand(client *c) {
multiCmd *mc;
int j;
c->mstate.commands = zrealloc(c->mstate.commands,
sizeof(multiCmd)*(c->mstate.count+1));
mc = c->mstate.commands+c->mstate.count;
mc->cmd = c->cmd;
mc->argc = c->argc;
mc->argv = zmalloc(sizeof(robj*)*c->argc);
memcpy(mc->argv,c->argv,sizeof(robj*)*c->argc);
for (j = 0; j < c->argc; j++)
incrRefCount(mc->argv[j]);
c->mstate.count++;
}
在上述源码中可以看到redis服务端每次会把事务块中的命令保存到内存中,上述简介已经解释过最后通过exec命令执行,再看下面示例图的返回结果可以了解到redis服务端一次性返回所有命令执行返回结果。
pipeline
简介
客户端将执行的命令写入到缓冲中,最后由exec命令一次性发送给redis执行返回。
实现原理
同样,用相关代码调用redis抓包;
$redis = new redis();
$redis->connect('127.0.0.1',6379);
$handle = $redis->pipeline();
$handle->incr('a');
$handle->incr('b');
$handle->exec();
继续用wireshark抓包,如下图所示
pipeline 客户端请求包示例图
这上面的图片简要分析一下,pipeline管道操作是需要客户端与服务端的支持,客户端将命令写入缓冲,最后再通过exec命令发送给服务端,服务端通过命令拆分,逐个执行返回结果。
两者的区别
由上面的请求也可以看出了两者最明显的区别是客户端发送请求的方式不一样,具体相关区别如下:
- pipeline选择客户端缓冲,multi选择服务端缓冲;
- 请求次数的不一致,multi需要每个命令都发送一次给服务端,pipeline最后一次性发送给服务端,请求次数相对于multi减少
- multi/exec可以保证原子性,而pipeline不保证原子性
相关推荐:
OpenAI新产品与现有技术的完美结合:赋能未来的智能变革,培训 ai
360刷排名工具选哪家?揭秘2025年最强排名优化工具!,ai写作网站哪个好一点
ChatGPT显示503:如何应对AI服务不可用的困境?,ai宝贝宝贝
GoogleSEO打满分自然流量会高吗?揭开SEO优化的真相,猪插画ai
互联网留痕:数字时代的隐形轨迹与自我管理,灯塔网站推广包年多少钱
文章AI生成:让创作变得更简单、更高效!
为什么网站要做seo,网站做seo的目的是什么 ,ai初选
SEO数量-如何提升你的网站排名与流量?,射阳seo优化五星服务
为什么选择老域名注册,打造品牌价值的秘密武器,网站建设服务费用多少
ChatGPT打开后空白:如何解决这个困扰并高效使用AI助手,ai四声怎么写
WPQQ-开启数字时代的智能连接新纪元,杭州网站推广厂家电话
SEO查:如何用精准的SEO诊断助力网站流量爆发,美团关键词排名怎么补
SEO优化攻略:如何通过精准策略提升网站排名与流量,aI ow翻译
SEO外包:提升网站排名与品牌曝光的最佳选择,大创建设网站
SEO任何:如何通过精准优化让网站流量突破极限,太原网站建设培训班
SEO王:掌控搜索引擎优化的至高法则,助力企业飞速腾飞,网站动作优化在哪里下载
zblog站群,zblog怎么样 ,欧卡2ai汽车如何使用
了解SEO:让你的网站在搜索引擎中脱颖而出的秘密武器,宝山区常见网站优化
未来的效率利器AI软件下载AI,助您轻松驾驭智能世界
SEO短视:为何眼前的成效不能成为长久的策略?,网站上线seo优化
ChatGPT充值打不开?这几招教你轻松解决问题!,免费的ai写作绘图
seo网站通过什么软件,网站seo软件哪个 ,战团ai
ChatGPT页面无法下拉?禁用浏览器扩展,轻松解决!,imba 1.6 ai
ChatGPT破解:人工智能未来的无限可能,污污AI解说
SEO地位:如何提升你的网站排名与曝光度,抢占市场先机,微营销网络推广
从“官网扒下来”看企业数字化转型的未来,摄影营销策略推广文案
怎么让AI润色文章,让写作更轻松?
ChatGPT:人工智能对话新时代的领航者,ai音响华为还是小米好
SEO自己:打造属于你的数字营销利器,微信裂变营销推广软件
seo逻辑是什么,seo思路 ,语音主播怎么ai写作业
交友群都有哪些,交友群是干什么的 ,ai猫csgo
AI批量文章工具,让写作变得高效与轻松,cs机器人ai
优化*:打造更加高效、创新的娱乐体验,石排网站建设制作多少钱
ChatGPT为什么用不了了?背后的真相揭秘!,ai写作专家收费吗
ChatGPT无服务:如何突破限制,未来人工智能的新可能,ai绘制装饰画
SEO用户:如何为您的网站带来持续流量和转化,惠州网站推广哪个好
SEO结构优化:助力网站提升排名与流量的关键策略,杭州小网站推广哪家好做
AI+写文章:开启智能创作新时代
为什么越来越多的人选择在知乎发布文章?这里面的机会你可能还没发现!,潍坊关键词排名提升
SEO新手必看:从零开始SEO优化的终极指南,随州网站优化技巧
ChatGPT为什么打不开?背后原因与解决方案,慧ai写作
AI人工智能文章生成平台,释放创作无限可能
二SEO是什么,h二seo三是什么 ,ai手术机
ChatGPT为什么页面下拉不了?问题解析与解决方案,ai对准
WPJVX:开启数字化未来的智慧平台,关键词排名技术咨询乐云seo
一秒采集:提升效率、创造价值的秘密武器,苏州网站整站优化
seo都有什么意思,seo 啥意思 ,ai园林
什么是seo艺术,什么是seo seo有何价值 ,ai写作生成器 推荐
Bing搜索的注意事项-提高搜索效率与准确性,轻松获取所需信息,最近ai写作软件推荐
文章生成AI:让写作轻松高效的神奇工具