Redis的事务:一次事务操作,改成功的成功,该失败的失败。
提交事务 如果遇见错误 成功的成功,失败的失败,不会回滚
先开启事务,执行一些列的命令,但是命令不会立即执行,会被放在一个队列中,如果你执行事务,那么这个队列中的命令全部执行,如果取消了事务,一个队列中的命令全部作废。
开启事务:multi
输入要执行的命令:被放入到一个队列中
执行事务:exec
取消事务:discard
下图开启事务 multi exec 执行事务
下图取消了事务,所以k5的值拿不到
k2 的值是v2 ,不能加1 ,所以报错,但是
Redis的事务向发挥功能,需要配置watch监听机制
在开启事务之前,先通过watch命令去监听一个或多个key,在开启事务之后,如果有其他客户端修改了我监听的key,事务会自动取消。
如果执行了事务,或者取消了事务,watch监听自动消除,一般不需要手动执行unwatch。
加上watch之后 相当于栓了一条狗 set k1 如果这时候有人在图形化界面或者别的地方修改过k1
则事务自动取消exec没用