Redis事物管理

一、Redis事物特点

一、Redis事物的常用命令

1、multi

相当于关系型数据库中的begin transaction开启事物

2、exec

相当于关系型数据库中的commit提交事物

3、discard

相当于关系型数据库中的rollback回滚

4、watch

当给定的事物需要按照条件执行时,用这个命令让给定的key处于受监控状态,一旦执行watch后,有key发生改变,则exec执行前的所有命令都失效

二、命令用法

1、使用multi命令

当执行multi命令时,返回值总是OK,表示进入redis事物,然后输入一系列redis命令,在execu执行前,这些命令都没有被执行,而是被放入队列中等待被执行,一旦执行execu命令,redis命令才开始执行。

2、使用execu命令

执行execu命令后,返回值是一个数组,数组中的每一个元素就是事物中每个redis命令的返回值,返回值的顺序与redis发出命令的顺序一致。execu执行之前,每一条redis命令执行后的返回值都是QUEUE,表示返回的状态。

3、使用discard命令

执行discard命令表示放弃所有的事物,所有的redis命令都不执行,并且redis连接恢复到正常状态(如同rollback一样,遇到异常事物回滚,恢复到原来状态)

4、使用watch命令

当使用watch命令,execu只有在满足特定条件下才会执行,也就是给定的键要受到监控,一旦execu执行之前有键发生改变,则execu命令都无法执行,但是如果操作的键属于易失性,过期时间很短,或者当此键处于受控状态后立马就失效了,execu也会执行

这里对unwatch命令就不做介绍了,它的作用是取消键的受监控状态

猜你喜欢

转载自blog.csdn.net/weixin_39999535/article/details/81172966