队列中间有命令执行错误
错误包含
编译型错误(代码写的有问题),命令写错了,这个时候所有的命令都不会执行
其中getset k1 是语法错误
?...监视(实现乐观锁)
悲观锁
很悲观,认为什么时候都会出问题,无论做什么都加锁
乐观锁
很乐观,认为什么时候都不会出现问题,所以不会加锁,更新数据的时候,判断一下,在此期间是否有人改动过数据
获取version...更新时比较version
watch key[key循环]
事物正常结束,数据期间没有发生变动,这个时候就正常执行成功(就是看你的钱,在你花的期间,有没有人动过)
一但事物执行成功监控就会取消
?...经过测试发现,不会存在ABA问题
取消监视
unwatch
取消全部的监视
经过测试多个进程取消监视不会影响其他已开启事物的监视
A线程
?
B线程
?
A线程
?...先检查命令是否正确,无语法错误,如不正确,服务器会在客户端状态redisClient的flags属性关闭;如果正确,将这个命令放入一个事务队列,并向客户端返回QUEUED回复
事务队列按照FIFO(先进先出