简介
一个指令执行的序列称为事务,这些序列被看作成一个整体,按顺序执行其中的指令
事务的基本操作
multi
标记事务的开始,该指令执行后,后续的所有指令均加入到事务中
exec
标记事务的结束,执行事务中的所有指令
discard
清除先前事务中的所有指令,恢复正常连接状态
事务的注意事项
- 定义事务的过程中,指令有语法错误,再执行 exec 指令,先前正确的指令也不会执行,并报错
- 定义事务的过程中,指令有运行错误(如对 hash 类型使用 incr),先前正确的指令会执行,错误的指令会报错,错误指令后的正确指令也能被执行,也就是说不会自动回滚
事务监控
watch
在事务定义前可以使用 watch 指令监控一个或多个 key ,当事务定义结束,使用 exec 指令执行事务前,如果被监视的 key 被其它指令改变,则事务执行失败,否则正常执行
watch key [key ...]
watch 对指令的监控只对下一次事务起作用,当使用 exec 指令正常结束事务,或使用 discard 指令清除事务后,watch 的监控自动消失,相当于调用了 unwatch 指令
unwatch
清除所有之前对 key 的监控
unwatch -