redis事务
- redis执行事务
- redis取消事务
- redis异常
- 编译型异常
- 运行时异常
redis其实是没有原子性、隔离性之说的。单条命令是原子性,多条命令不一定是原子性
redis执行事务
multi开启一个事务,执行命令,exec提交事务
redis取消事务
multi开启的事务中执行的命令,如果执行discard,当前事务中所有执行命令无效
redis异常
编译型异常
编译型异常属于代码问题,或者redis命令不正确,事务中所有命令不会被执行
addset,redis没有对应命令,但不影响同事务下面命令执行。当我们输入exec时,报错,所有命令没有被执行。
运行时异常
运行时异常,属于我们代码业务逻辑错误,就像java的1/0一样,编译时不报错,运行时报错。
k1的值为v1,是个字符串值。incr k1 只能对integer值+1,在事务中没有报错,继续执行其他命令。当我们exec执行事务时,我们发现incr命令报错,但不影响其他命令的执行。