Redis事务本质: 一组命令的集合!一个事务中的所有命令都会被顺序化,在事务的执行过程中,会被按顺序执行。
特性:一次性、顺序性、排他性‘
Redis事务没有没有隔离级别的概念!
所有的命令在事务中,并没有直接被执行!只有发起执行命令的时候才会执行!Exec
Redis单条命令式保存原子性的,但是事务不保证原子性!
redis的事务过程:
开启事务(multi)
命令入队(......)
执行事务(exec)
正常执行事务:
multi (开启)
.......命令
exec (执行)
放弃事务:
multi (开启)
.......命令
discard (取消事务)
注意事项:
1.编译型异常(命令有错,代码有问题),事务中的所有命令都不会执行
2.运行时异常(例如 字符串 设置递增数,这是错误的)执行时,其他正确的命令会正常执行、异常的会抛出