命令复习:
multi:开启事务
开启事务之后,讲要操作的命令都放到了QUEUED(queued)队列里,然后通过EXEC命令一起提交。
对于WATCH命令:
开启了事务,没有提交,这时候又有一个客户端进来操作
然后前面那个开启事务的提交,发现提交成功。这时候看k1被改成了v111。
这时候出现另一种情况,a线程来修改时候我希望没有其他线程来干扰我,这时候开启 监听WATCH。。
上面这个操作很顺利,没有其他线程干扰,也就操作成功。实际情况下,可能会收到其他线程干扰,下面的命令还没有提交
这时候另一个终端连上来执行了k1的修改。
此时A线程提交,此时提交失败,出现了 nil
get k1 获取了别人修改过的值