redis事务的本质:一组命令集合。具有一次性、顺序性、排他性。
一个事务中的所有命令都会被序列化,在事务执行过程中,会按照顺序执行。
redis单条命令是保证原子性的,但是事务不保证原子性。
redis事务没有隔离级别的概念,所有命令在事务中不被执行,只有在发起执行命令的时候才会执行。
redis的事务:
- 开启事务
- 命令入队
- 执行事务
# 执行事务
multi
set k1 v1
set k2 v2
exec
# 放弃事务
multi
set k3 v3
discard
当事务中出现语法时,事务不能执行。
当事务中出现语义错误时,事务可以成功执行。