Redis高级——事务

简介

一个指令执行的序列称为事务,这些序列被看作成一个整体,按顺序执行其中的指令


事务的基本操作

multi

标记事务的开始,该指令执行后,后续的所有指令均加入到事务中

exec

标记事务的结束,执行事务中的所有指令

discard

清除先前事务中的所有指令,恢复正常连接状态


事务的注意事项

  • 定义事务的过程中,指令有语法错误,再执行 exec 指令,先前正确的指令也不会执行,并报错
  • 定义事务的过程中,指令有运行错误(如对 hash 类型使用 incr),先前正确的指令会执行,错误的指令会报错,错误指令后的正确指令也能被执行,也就是说不会自动回滚

事务监控

watch

在事务定义前可以使用 watch 指令监控一个或多个 key ,当事务定义结束,使用 exec 指令执行事务前,如果被监视的 key 被其它指令改变,则事务执行失败,否则正常执行

watch key [key ...]

watch 对指令的监控只对下一次事务起作用,当使用 exec 指令正常结束事务,或使用 discard 指令清除事务后,watch 的监控自动消失,相当于调用了 unwatch 指令

unwatch

清除所有之前对 key 的监控

unwatch -

Guess you like

Origin blog.csdn.net/qq_25274377/article/details/120774967