Redis事务
Redis的事务:一次事务操作,该成功的成功,该失败的失败。
先开启事务,执行一系列的命令,但是命令不会立即执行,会被放在一个队列中,如果你执行事务,那么这个队列中的命令全部执行,如果取消了事务,一个队列中的命令全部作废。
- 开启事务:multi
- 输入要执行的命令:被放入到一个队列中
- 执行事务:exec
- 取消事务:discard
- Redis的事务想发挥功能,需要配置watch监听机制
- 在开启事务之前,先通过watch命令去监听一个或多个key,在开启事务之后,如果有其他客户端修改了我监听的key,事务会自动取消。
- 如果执行了事务,或者取消了事务,watch监听自动消除,一般不需要手动执行unwatch。
![](https://img6.php1.cn/3cdc5/c273/9f3/f9739e9cd767a325.jpeg)
![](https://img6.php1.cn/3cdc5/c273/9f3/d4e1c678a56d2c6c.jpeg)
开启watch监听机制,监听name和age
![](https://img6.php1.cn/3cdc5/c273/9f3/1c67c02be4d63910.jpeg)
在另外一个客户端,修改name的值
![](https://img6.php1.cn/3cdc5/c273/9f3/f3c522c481681383.jpeg)
然后执行事务:
![](https://img6.php1.cn/3cdc5/c273/9f3/f09ba2b83cd42bcb.jpeg)