Redis事务
在一个队列中 , 一次性 顺序性 , 排他性的执行一系列命令
MULTI 开始事务
EXEC 事务执行
DISCARD 放弃事务
WATCH 监视多个key
正常执行
放弃事务
全体连坐
冤头债主
watch监控
悲观锁: 认为一定出错 修改时 锁定整个表
乐观锁: 在每条记录后面加上version 查询时记录version值 当别人修改后 version++ 自己提交时发现version值变化了 即提交失败
当监控k1时别人修改过k1队列中的建觉察不到 会出现nil为空
使用unwatch或者exec监控都会被取消
watch类似乐观锁 事务提交时 如果key被别人修改后 整个事务队列都不会被执行
通过watch监控多个key 倘若在watch之后有任何key发生了变化 exec命令执行的事务都将被放弃