专栏电商日志财经减肥爱情
投稿投诉
爱情常识
搭配分娩
减肥两性
孕期塑形
财经教案
论文美文
日志体育
养生学堂
电商科学
头戴业界
专栏星座
用品音乐

Redis中的pipeline和事务的区别是什么?

  作者:LionLong
  链接:https:www。zhihu。comquestion422433905answer2852090043
  来源:知乎
  著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
  一、redis网络层简介
  redis是采用单reactor的网络模型。
  reactor网络模型,其组成是IO多路复用非阻塞IO;IO职责是IO检测和IO操作;事件是异步事件处理流程,先注册事件,然后在事件循环中处理事件,注册事件的时候提供回调函数。
  redis网络层
  宏观的直接的理解:忽略其他流程,只关注数据包处理流程。
  redis网络模型宏观理解
  哪条管道先构成一个完整的数据包,谁先得到处理。一个数据包可能由多个读事件才能组装成。管道就是连接。U型口相当于网络模型。二、redispipeline
  redispipeline是一个客户端提供的机制,而不是服务端提供的。pipeline不具备事务性。
  正常情况:
  非pipeline
  pipeline:
  pipeline
  pipeline模式主要针对阻塞IO,和异步处理很像。它的目的是节约网络传输时间。三、redis事务
  事务是指用户定义一系列数据库操作,这些操作视为完整的逻辑处理工作单元,要么全部执行,要么全部不执行,是不可分割的工作单元。
  MULTI开启事务,事务执行过程中,单个命令是入队列操作,直到调用EXEC才会一起执行。
  比如有三个请求R1、R2、R3,那么每个请求都有一个回应,这三个请求之间又有业务逻辑关联,即这三个命令是一个整体,不可分割,这就需要事务。
  再比如redis中要给一个string类型的key的value做翻倍操作,首先需要getkey得到value,再发送setkey2value来翻倍,这个过程就需要完整的,过程中不能被其他进程线程进行setkey操作。
  什么情况下探讨事务呢?是在并发连接的时候,如果只有一条连接,就不需要事务,因为没有其他连接会干扰数据。3。1、事务执行
  (1)MULTI。
  开启事务。创建一个队列,将所需要执行的指令放入队列中,等提交队列后再一起执行。beginstarttransaction。
  (2)EXEC。
  提交事务。commit。
  (3)DISCARD。
  取消事务,在MULTI和EXEC直接执行DISCARD就会取消事务。rollback。
  (4)WATCH。
  检测key的变动,若在事务执行中,key变动则取消事务;在事务开启前调用,乐观锁实现(cas);若被取消则事务返回nil。
  事务将MULTI到EXEC之间作为一个整体。
  下面是没有使用watch的事务执行:127。0。0。1:6379multiOK127。0。0。1:6379(TX)getflyQUEUED127。0。0。1:6379(TX)setfly10QUEUED127。0。0。1:6379(TX)exec1)10002)OK127。0。0。1:6379getfly10
  使用watch,并且有其他的连接修改了数据时:127。0。0。1:6379watchflyOK127。0。0。1:6379getfly10127。0。0。1:6379multiOK127。0。0。1:6379(TX)setfly20QUEUED127。0。0。1:6379(TX)exec(nil)
  出现(nil),事务执行失败。3。2、应用
  (1)事务实现zpop。WATCHzsetelementZRANGEzset00MULTIZREMzsetelementEXEC
  (2)事务实现加倍操作。WATCHscore:10001valGETscore:10001MULTISETscore:10001val2EXEC四、ACID特性分析
  (1)A,原子性。
  事务是一个不可分割的工作单位,事务中的操作要么全部成功,要么全部失败。redis不支持回滚;即使事务队列中的某个命令在执行期间出现了错误,整个事务也会继续执行下去,直到将事务队列中的所有命令都执行完毕为止。
  (2)C,一致性。
  事务的前后,所有的数据都保持一个一致的状态,不能违反数据的一致性检测;这里的一致性是指预期的一致性而不是异常后的一致性;所以redis也不满足;这个争议很大:redis能确保事务执行前后的数据的完整约束;但是并不满足业务功能上的一致性;比如转账功能,一个扣钱一个加钱;可能出现扣钱执行错误,加钱执行正确,那么最终还是会加钱成功;系统凭空多了钱。
  一致性有类型一致性和逻辑一致性。127。0。0。1:6379setfly1000OK127。0。0。1:6379typeflystring127。0。0。1:6379lpushfly100100(error)WRONGTYPEOperationagainstakeyholdingthewrongkindofvalue
  这个报错就是redis做了类型一致性检测。
  (3)I,隔离性。
  各个事务之间互相影响的程度;redis是单线程执行,天然具备隔离性。
  (4)D,持久性。
  redis只有在aof持久化策略的时候,并且需要在redis。conf中appendfsyncalways才具备持久性;实际项目中几乎不会使用aof持久化策略。总结redis事务执行过程中是使用的乐观锁,正常使用会通过lua脚本来执行。redis的事务主要是在并发连接下确保多条指令作为整体一起执行,不被其他干扰。事务通常来讲是一系列的数据库操作,这些操作视为一个完整的逻辑处理工作单元,要么都执行,要么都不执行。

长途自驾出行需要准备的日常用品在日常用品准备方面,我感觉要做到以下几项。一如果去的地方既有平原,也有高原还有山区的话。最好备齐四季衣服。二身份证,驾驶证,行驶证,边防证,都要带齐。三最好随身携带一少部分现金。在让你生活美好的32日常小习惯头条创作挑战赛1hr整理自己的旧衣服,超过35年可以考虑断舍离了。购置新的适合自己的衣服。2hr内衣也要定期换,变形的缩水的起球的,凡是不那么舒服的都要换掉。3hr选择一款适合自己奇幻日常三部曲每日一书2023年,我们希望阅读什么样的童书呢?或许是有启发性新颖的童书,并希望它们能贴近孩子当下的需求,也能陪伴着他们成长。这样的童书经得起时间的考验,不仅因为它们展现此刻社会关注的议题ChatGPT调戏日常LOL篇自从注册了ChatGPT账号,感觉太上头了,根本停不下来所以分享一些调戏日常,也不得不说这个模型确实很强大,在语言理解和前后逻辑关联方面都是目前的顶级赞废话不多说,正文开始为了方便阿劳霍若我是阿莱马尼,会为巴萨签下本坦库尔和梅西直播吧2月14日讯本赛季,巴萨后卫阿劳霍是球队后防线上非常重要的一员,乌拉圭人帮助球队暂时在西甲积分榜上以11分领跑。在接受Jijantes采访时,阿劳霍被问及了希望球队签下哪些球老里马克西防守更稳了ampampamp是个好势头PJ塔克因小腿发紧未再出战直播吧2月14日讯76人今日主场123104大胜火箭。赛后,76人主帅老里弗斯称赞了马克西的表现,后者本场拿到26分。马克西本场的防守依然稳固,这在近几场成为了他的积极趋势。老里弗字母哥359洛佩兹2215雄鹿轻取快船豪取10连胜!NBA常规赛2月11日继续进行,本场比赛米德尔顿缺阵,而快船这边莱昂纳德不打。最终,雄鹿以119106战胜快船,雄鹿获得10连胜!首节开始,字母哥上来就连拿8分帮助雄鹿打出142开比斯利此前我从外部进行观察,感觉我们有时候各自为战湖人后卫马利克比斯利在今日训练后接受了采访。当被问到他此前从外部视角对于湖人的印象,比斯利说作为外来人的感觉,我认为我们需要更多一点的队友情谊。我认为,从我之前看到的情况,我感觉有这次会排第几?梅西此前曾14次入围FIFA最佳前三,6次第一国际足联公布了FIFA年度最佳男子球员的三人候选梅西姆巴佩和本泽马在列。这是梅西个人第15次入围FIFA最佳的三位候选(包括与金球奖合并时期以及FIFA最佳前身世界足球先生时期),勇士消息四方交易正式完成,5131全明星或加盟,伤病情况更新北京时间2月13日,在过去的一夜中,金州勇士传来了3条消息,一起来看看吧。四方交易正式完成本赛季交易截止日前,勇士与老鹰开拓者活塞达成了一笔四方交易,在交易中,勇士送出了怀斯曼,迎从D级到金标,苏神主动升级挑战苏炳添根据个人状态调整参赛计划,挑战更高难度的比赛。视觉中国广州日报全媒体记者白志标在瑞典哥德堡以6。59秒夺得60米冠军赢得2023新赛季开门红后,苏炳添来到意大利帕多瓦全力备战
8月北京二手住宅网签量环比增超一成三连升态势能否延续?随着疫情缓解,自6月份起北京二手住宅成交实现三连升。据北京市住建委网站数据显示,8月北京市二手住宅网签量为13920套,环比增长12。8,同比下降12。7。从网签量看,8月份北京二唯一在56年被授衔开国上将的是谁?为何55年不给他授衔?(文清依说史)1955年,新中国举行首次授衔,一共55人被授予开国上将军衔。可如你所知,开国上将一共57人,为何55年只有55人被授衔?还有2人呢?还有2人不是在55年授衔。这两人一小国没国旗,向中国借国旗,被我国拒绝后,在国旗上写8个汉字国旗一直都是一个国家最重要的象征之一,也是国家的尊严所在。当初我国在国旗的设计上就花费了大量的心血,因为既要体现出国家特色,又要包含国家的重要标志,让人一目了然,这可不是一件容易的欧冠米兰11客平奥超劲旅!萨勒马克尔斯破门,莱奥补时中柱北京时间9月7日凌晨3点,欧冠小组赛首轮的一场较量,AC米兰客场对阵萨尔茨堡红牛。第28分钟,萨尔茨堡红牛队员左路直传,本纳赛尔断球失误,费尔南多得球后顺势直塞,奥卡福晃倒卡卢卢低没有能打的!纳达尔23冠又稳了卫冕冠军出局,主要对手均告别北京时间9月5日,2022年美网公开赛男单第四轮焦点战,世界第一卫冕冠军梅德韦杰夫总比分13不敌克耶高斯,无缘卫冕。随着德约科维奇未能参赛,卫冕冠军梅德韦杰夫早早出局,纳达尔的第2光华记事儿历时四年打造!故宫又上大片头条聚焦总台正式成为巴黎奥运会国际公用信号制作机构创作风向标!44部作品入选优秀国产纪录片总局作协助推现实题材作品创作行业动态亲爱的生命聚焦妇产科新生故事了不起的戏曲创新戏曲文化传为什么俱乐部的女骑手多于男骑手?马术运动真的阴盛阳衰吗?回忆往昔,在第九十六届古代奥运会上,赢得四驾战车冠军的是来自斯巴达王国的公主,名叫茜尼斯卡(Cynisca),那时她参赛还需要女扮男装,但就是这样一个举动,让她成为了首位在马术比赛NASA发布小型水下探测器SWIM,旨在进入木星和土星卫星的海底NASA的喷气推进实验室(JPL)宣布开发小型水下探测器SWIM。那么,NASA为什么要开发小型水下探测器而不是宇宙探测器呢?让我们来看看,这到底是怎么回事?图像SWIM在冰壳下的室温下的量子纠缠!中国科大杜江峰团队成功纠缠两个qutrit量子关联是量子物理学的一个重要问题,最近,高维量子关联引起了巨大的科研热潮。近日,中国科大杜江峰院士团队报告了室温下金刚石中单个氮空位(NV)色心的双qutrit自旋系统中的量子关风雪征途,愿为你守候温暖四季2022遇见高原上的家穿行新藏线,一重风雪一重山。耸峙的雪山荒凉的戈壁令人窒息的高原反应这一切对行走天路的军人来说都是考验而一杯热茶一盘饺子一声问候,都足以抚慰天路旅人那一颗疲惫的细节把控出色,屏幕体验拉满,vivoXFold开启折叠屏2。0时代近年来,折叠屏手机受到了广泛关注,然而此前行业内并没有给出完善的折叠屏手机方案,当前的主流折叠屏手机都存在不少的问题,比如屏幕折痕明显。vivo很早就意识到了这一点,所以它用心进行
友情链接:快好找快生活快百科快传网中准网文好找聚热点快软网