首先我们都知道mysql的事务特性ACID:
- 原子性(Atomicity,或称不可分割性)、
- 一致性(Consistency)
- 隔离性(Isolation)
- 持久性(Durability)
Redis与mysql不同,redis的事务是一组命令的集合,然后将该事务放入队列中,按照命令顺序执行
根据这个特性,redis事务有以下特点:一次性,顺序性,排他性,redis的单条命令保证原子性,但是redis事务不保证原子性,且没有隔离级别的概念,所有的命令在事务中,并没有直接被执行,只有发起执行的命令时才会执行Exec
开启Redis事务
- 开启事务:multi
- 写入命令:
- 执行事务:exec
放弃事务:DISCARD,一旦放弃,事务中的命令都不会被执行
Redis的异常
1.编译时异常
使用错误的命令,在编译时就有错误显示