• 事务控制很怂

命令

命令名 作用
MULTI 表示开始收集命令,将后面的命令加入一个队列中
EXEC 执行MULTI后命令队列中的所有命令
DISCARD 放弃执行队列中的命令
WATCH 监控一个 key,在当前队列外的其他命令操作这个 key 时,放弃执行自己队列的命令(是该key的命令还是命令队列的命令?)
UNWATCH 放弃监控指定 key
  • watch 属于 乐观锁

    命令队列执行失败的情况

  • 在命令入队的时候,如果出现了 语法错误 导致 redis 检测出来,那么 exec 的时候会让整个命令队列失效。

  • 但是如果 redis 没有检测出 命令队列的某个出错命令,那么在 exec 的时候,该出错命令执行,而其他命令继续执行。