代码拉取完成,页面将自动刷新
Redis的事务主要依赖于WATCH ,UNWATCH,MULTI , EXEC, DISCARD等命令。 其中 MULTI , EXEC , DISCARD 分别对应关系型数据库的 BEGIN,COMMIT,ROLLBACK操作。
客户端使用MULTI命令开启事务,此时用户就可以开始发出要执行的命令。 **如果命令为WATCH/MULTI/EXEC/DISCARD这四个中的任意一个, 那么会被直接执行,**因为它们属于事务操作。
当执行DISCARD的时候,会清空事务队列并退出事务。 如果是普通命令,就将命令加入事务队列,然后当EXEC命令执行时, 事务中的队列将会被一一执行,最后执行的结果也是一个数组。
参考: Redis事务的设计与实现
在开启事务后,用户命令并不会被立刻执行,而是被添加到事务队列中, 这个队列其实是一个数组,每个数组元素由3部分组成:
命令被添加到队列中的结构大致如下:
命令被执行后,也会生成一个结果数组,Redis就将这个结果数组返回:
Redis事务有两个错误时机。
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。