事务的基本操作
- 开启事务:
multi
,这个指令之后的命令,都会加入事务队列中,不会立即执行。 - 执行事务:
exec
,将事务队列种的命令依次执行,与multi
成对出现。
multi
set name Jam
set age 22
exec
- 取消事务:
discard
,用法与exec
一样,只能在multi
之后使用。
事务的工作流程
事务的工作流程图如下:
事务的注意事项
- 事务中,如果命令出现语法错误(拼写错误等),整个事务队列将会被销毁。
- 事务中,如果命令没有错误,但是执行出错,比如对一个hash执行
lpush
操作,事务会跳过错误的指令,执行正确的指令。
注意:如果执行过程中出错,不会做回滚,需要手动在代码里处理。