## DISCARD 取消事务,放弃执行事务内的所有命令
discard
## exec 执行所有事务内的开始
## multi 标记一个事务的开始
## watch key [key ...] 监控一个或多个key,如果在事务执行之前这个key被其他命令改动过,
## 那么事务会被打断
正常执行
取消事务
全体连坐 只要有一个失败 全部失败 严重错误直接输出错误
冤头债主 成功的成功 ,失败的失败
watch 指令类似乐观锁
悲观锁 (很悲观,必定出事) 类似mysql表锁,并发性差,一致性好
乐观锁 在每个字段后面加一个字段version, 类似mysql行锁
假设id为1一条记录 a,b两人一起进来该这条数据,a先该完后提交version置2,b后提交后发现version为2,必须先更新,再提交vsersion置3
CAS
正常情况
并发情况 假设a用户在操作num1同时,b用户也操作了num1 减30
这种情况需要 重新watch
如果再次被修改 只能 unwatch