面试聊到一个有意思的问题,redis pipeline为…

面试聊到一个有意思的问题,redis pipeline为什么能提升大批量数据插入的效率,我脱口而出,减少tcp连接带来的耗时,面试官问,项目用连接池了没有,答,用了,那连接池的连接都是存活的,用pipeline意义何在?

程序猿.尼古拉斯赵四:m

程序猿.昆仑弟子:m

殷天正:应该是减少网络传输次数吧,跟连接没关系

程序猿.昆仑弟子[2]:假如你要去菜市场买100个菜,1.每一次去买一个菜 2.一次性买100个菜。你选哪个

程序猿.醒太早:m

明略科技集团员工:好问题

程序猿.韩当:M

明略科技集团员工:我的理解,假设说,pipeline,一个网络层packet里包含了几条命令,到redis-server这一层,cpu可以顺序执行这几条命令就行,不用干等。像一次只传一条命令,cpu时间浪费在等待packet到来。一定程度上提升了cpu利用率。

楼主:@程序猿.昆仑弟子[2] 那你说说这其中的区别,在我看来,有连接池的情况下,tcp握手是省了的,买一次菜和100次,其流量是一样的

楼主:@殷天正 既然连接池有活连接,那就能双向通信,假如带宽足够高,那这个传输差别在哪里

程序猿.楚中天:是减少rtt吧,常规一请求一响应的方式,如果网络延迟高,效率会很差。以及减少io次数,io涉及到的系统调用也有开销的

楼主:@明略科技集团员工 感觉你这个解释有些切题意了

楼主:@程序猿.楚中天 我之前只从tcp握手这个地方考虑,连接池的方式好像确实省了握手的环节,那么pipeline的提升在哪里呢

昆仑弟子:m

程序猿.可是实力不允许啊:@程序猿.昆仑弟子[2] 楼主意思是来回一百次每次带一样的东西,和只来回一次带一百样东西没区别?

程序猿.许愿大厂off:m

程序猿.邓芝:m希望45MA多一点这样的帖子!

楼主:@程序猿.可是实力不允许啊 你直接上技术细节,别用买菜打比方

程序猿.云中鹤:m

楼主:@程序猿.可是实力不允许啊 分开买菜和一次性买菜,虽然总路程不一样,那一次性买100个菜,搬运的成本又比分开买高多少呢,所以说这个例子放在这里不恰当

程序猿.成昆:m

程序猿.拉师傅:跟触发的系统调用次数有关吧?pipeline一次epoll wait就能能搞定

程序猿.徐小侠:请求不只是redis指令,还要层层封包,tcp包 ip包 mac包。多个命令多次封包不是开销么

程序猿.曹丕:通信协议结构的开销

qadrvv:@楼主 楼主说的蛮清楚了吧…减少io交互次数 批量处理

程序猿.嵩山弟子:楼主可以自己列个公式算下,假设一次RTT 250ms。 如果一个一个key传,上一个key结果返回再传下一个key,那么REDIS服务端一秒钟只能处理四个请求,大部分时间都浪费在等待网络请求了

京东数字科技员工:减少io次数,读数据要等数据到来才能读,原来是写–读–写–读的顺序,通道改成了写–写–读–读的顺序,一次写完,一次读完,而且通道技术并不是redis的技术,而是完全依赖于客户端。 Redis深度历险写的

徐盛45MA多一些这样的帖子

滴滴出行员工:其实楼主可以稍微勤快点,你要的答案,费点时间和脑力去深入了解下,比这里讨论有价值的多吧

程序猿.嵩山弟子[2]:查数据库一次100条数据和查100次每次一条数据的关系

楼主:职言里面还是有很多大佬的,而且反馈也快

程序猿.恒山弟子:m

楼主:@京东数字科技员工 勾起了我内心深处的回忆啊,pipeline确实是客户端技术

楼主:@滴滴出行员工 不是说所有问题都要单打独斗的研究下去的,放这里讨论,主要是学习各位同行思考问题的角度,泡上一杯茶,翻着职言,跟各位大佬互动,心情何等的愉悦

北京字节跳动科技有限公司员工:@楼主 一次rtt也是要几毫秒的吧

程序猿.唱跳rap篮球丶:@京东数字科技员工 [笑哭]刚看完

程序猿.昆仑弟子[3]:我能想到的是rtt,减少往返时间

程序猿.张鲁:减少io次数,网络io,等待耗时,这么回答能过吗[坏笑]

程序猿.狐媚胡梅尔斯:就是为了减少网络传输的时间。不会因为你是长链接了,就可以无视每次发包的传输时长。pipeline一次性全发了只用一次网络传输

楼主:@程序猿.张鲁 这个问题比较开放,就看你怎么展开说了

徐盛:@程序猿.狐媚胡梅尔斯 同意

程序猿.公孙止:m

前北京微梦创科网络技术有限公司员工:@程序猿.昆仑弟子[2] 拿买100斤菜做比方。你车可以满载100斤。你买一次一斤,需要一百次,每次车都装不满的。但一次买100斤 ,车刚好装满[害羞]

前北京微梦创科网络技术有限公司员工:@程序猿.昆仑弟子[2] 你说哪个省

携程旅行网员工:问题不错

前浙江天猫技术有限公司员工:那个**公司问这个 不去了 不会

楼主:@前浙江天猫技术有限公司员工 哈哈,就是阿里系的哈,我倒觉得这个问题问的蛮不错的

程序猿.徐宁:RTT

陈玄风:是减少通信次数,即使你的连接不用新建,数据包往返多次也要更多时间

程序猿.昆仑弟子[3]:redis开发与运维这本书上有写

美团今年校招算法30k起步了吗? 程序猿.宋兵乙:…

美团今年校招算法30k起步了吗?[冷汗]程序猿.宋兵乙:大多数24,没必要幸存者偏差 程序猿小宇:m 暖羊羊:@程序猿.宋兵乙 大部分27+ 程序猿.宋兵乙:@暖羊羊 开发21.24.27,算法24.27.31,你的意思是sp和ssp能占大多数? 丁珰:24 27 30 蚂蚁金服员工:5:4:1 暖羊羊:@程序猿.宋兵乙 是的,差不多1半是有的 腾讯员工:是…

年底了,刚刚被裁员了 程序猿.裘千丈:m晶晶霹雳神…

年底了,刚刚被裁员了[皱眉]程序猿.裘千丈:m 晶晶霹雳神掌:啥工作 宋兵乙:我也年底被裁员,准备仲裁 楼主:@晶晶霹雳神掌 设计 晶晶霹雳神掌:ui设计吗 楼主:@宋兵乙 [抱抱]加油吧,打工人 楼主:@晶晶霹雳神掌 设计不是只有UI这一个岗位[笑哭] 晶晶霹雳神掌:@楼主 你是什么哪方面的设计? 人力HR.啊jie:需要工作的话可以看一下我这里 楼主:@…

北京人,中信证券it部和贝壳选哪个比较好啊,两个都离家很…

北京人,中信证券it部和贝壳选哪个比较好啊,两个都离家很远要租房,去互联网可能更好跳槽,但是又馋证券的名声和年终奖北京市字节跳动科技有限公司员工:证券吧,贝壳卷得太厉害 宋兵甲:证券的名声是什么鬼? 程序猿.程序员薛定谔:啥组? 程序猿.诸葛瑾:去证券,平台大,待遇好,没必要跳槽 昆仑弟子:都不咋地,去了证券有所谓的名声,实际上明白人都知道怎么回事,it年终…

字节的数据一面太搞笑,打n次电话邀约面试,一面都是是小朋…

字节的数据一面太搞笑,打n次电话邀约面试,一面都是是小朋友来面试,问大多问题都知道隐含考察方向。以后字节一直拉黑,别再找我了谢谢真的。对标p8的岗,来个小朋友口述问题,表结构和目标问题靠描述,要求在线写代码。物流方向一看问的都是外行问题,字节一直黑。就这格局了。严颜:头条的面试可就算了,面高阶也是让小朋友一面,面试官自己都没达到那个段位,还要来面试,搞笑啊 …

什么细节可以判断女同事有点绿茶 程序猿.泰山弟子:…

什么细节可以判断女同事有点绿茶[吐血]程序猿.泰山弟子:m 武当弟子:m 我是来找妹纸的:发现天天找你搞暧昧,也和别人这样 程序猿.王铁匠:比如某个老公有天提前下班了回家,到家后他老婆说给他变一个魔术大变活人,到卧室一掀被子,被窝里是一脸懵逼的光屁股隔壁老王:我是是谁我怎么在这里。 从这些蛛丝马迹,就可以隐约判断出,他老婆有点绿茶了 程序猿.孙乾:@程序猿.…