一个balance,两个cli操作,分别对balance进行watch,然后通过在事务中exec,会发现只有一个cli能加/减金额成功,原因是,被watch的key会被redis带上版本号,exec的时候会比较,如果修改者拿的version和实际这个key已经更改的version对不上,就会modify不成功。下面看演示:
image.png
image.png
一个balance,两个cli操作,分别对balance进行watch,然后通过在事务中exec,会发现只有一个cli能加/减金额成功,原因是,被watch的key会被redis带上版本号,exec的时候会比较,如果修改者拿的version和实际这个key已经更改的version对不上,就会modify不成功。下面看演示: