redis事务
redis事务特性:redis是不能嵌套事务的
![](https://img2020.cnblogs.com/blog/1501092/202106/1501092-20210606220454272-812924202.png)
- multi:开启事务
- exec:执行事务,把所有命令执行完
- 如果开始multi而没有执行exec那么事务将不会执行
- discard:中途终止事务
![](https://img2020.cnblogs.com/blog/1501092/202106/1501092-20210606223414052-769211406.png)
![](https://img2020.cnblogs.com/blog/1501092/202106/1501092-20210606223803858-1840270414.png)
watch:监控的作用,开启一个事务后进行watch,若被执行事务的值中途被另外客户端操作修改,则本次事务不执行 先监听一个存在的k1,然后开始客户端1的事务1,对k1进行操作,在事务1还没有执行完,
开启另一个客户端2,对k1进行操作 之后客户端1继续执行事务,发现返回的是null, 所以watch的作用就是,监听开启事务中的key,若此事务还没执行完毕,中途事务中的k的值被操作,此时事务执行失败。
![](https://img2020.cnblogs.com/blog/1501092/202106/1501092-20210606230644180-1087274854.png)
在执行事务时如果发生错误事务自动结束:注意区分运行时异常与编译时异常,
运行时异常:语法正确,但是操作违反相应的规则,
编译时异常:违背语法规则
一点点学习,一丝丝进步。不懈怠,才不会被时代淘汰