网创优客建站品牌官网
为成都网站建设公司企业提供高品质网站建设
热线:028-86922220
成都专业网站建设公司

定制建站费用3500元

符合中小企业对网站设计、功能常规化式的企业展示型网站建设

成都品牌网站建设

品牌网站建设费用6000元

本套餐主要针对企业品牌型网站、中高端设计、前端互动体验...

成都商城网站建设

商城网站建设费用8000元

商城网站建设因基本功能的需求不同费用上面也有很大的差别...

成都微信网站建设

手机微信网站建站3000元

手机微信网站开发、微信官网、微信商城网站...

建站知识

当前位置:首页 > 建站知识

RedisTransactions命令的作用是什么

这篇文章主要介绍“redis Transactions命令的作用是什么”,在日常操作中,相信很多人在Redis Transactions命令的作用是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Redis Transactions命令的作用是什么”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

创新互联专业为企业提供怀安网站建设、怀安做网站、怀安网站设计、怀安网站制作等企业网站建设、网页设计与制作、怀安企业网站模板建站服务,十年怀安做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。

Redis的事务和我们常见的数据库的事务最大的区别就是,Redis的事务中如果有一个命令执行失败,其他命令仍然可以执行成功。Redis的事务以MULTI开始,由EXEC触发。在EXEC前的操作都将被放入缓存队列中。在事务执行过程中其他客户端的命令不会插到事务中执行。下面就来介绍一下Redis事务相关的命令。

 
DISCARD

最早可用版本:2.0.0

放弃所有队列中的命令,将连接状态置为正常状态。如果事务被WATCH,则取消所有的WATCH。

 
EXEC

最早可用版本:1.2.0

执行队列中的全部命令,将连接状态置为正常状态。如果某些key处于被监视状态,并且队列中有和这些key相关的命令。那么EXEC命令只有在这些key的值没有变化的情况下事务才会执行,否则事务被打断。

 
MULTI

最早可用版本:1.2.0

标记事务块的开始,之后的命令被顺序插入缓存队列中,可以用EXEC命令执行这些命令。

 
UNWATCH

最早可用版本:2.2.0

时间复杂度:O(1)

清除掉所有被WATCH的key,如果调用了EXEC或者DISCARD命令,则不用手动调用UNWATCH命令。

 
WATCH

最早可用版本:2.2.0

时间复杂度:对每个都是O(1)

将指定的key标记为被监视状态,如果事务执行前被改动,则事务会被打断。

最后举一个事务被打断的栗子

 1127.0.0.1:6379> SET lock_time 1
2OK
3127.0.0.1:6379> WATCH lock_time
4OK
5127.0.0.1:6379> MULTI
6OK
7127.0.0.1:6379> SET transcation_key z #这时另一个客户端执行了命令 SET lock_time 2
8QUEUED
9127.0.0.1:6379> INCR lock_time
10QUEUED
11127.0.0.1:6379> EXEC
12(nil)
13127.0.0.1:6379> GET transcation_key
14(nil)

到此,关于“Redis Transactions命令的作用是什么”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注创新互联网站,小编会继续努力为大家带来更多实用的文章!


分享标题:RedisTransactions命令的作用是什么
标题来源:http://bjjierui.cn/article/ggjgdh.html

其他资讯