乐观锁都有重试机制,用这个保证幂等性的时候,如何决定这次操作是否需要重试呢?
比如下面两种操作会导致版本号不一致
1、与其他修改操作并发执行
2、重复提交
第一种情况版本号冲突以后需要做重试,因为这是正常的业务需求
第二种情况版本号冲突以后不能做重试,一旦重试就无法做到幂等了
当我点修改按钮的时候,发现版本号冲突,这时候应该很难区分什么原因导致冲突的,所以就不好确定能不能重试。
这个问题该如何解决?
57
收起
正在回答 回答被采纳积分+1
1回答
coding_zhang
2020-02-21 17:59:58
所有的update操作到数据库后, 都会变成串行,一条一条的去执行。
执行完一个update语句后,version的值就变了,后面带有相同的version的update语句都不会进行更新。
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星