系统对2个以上用户并发修改同一条数据用到什么机制避免数据更新错误?

Blade 已结 1 543
eternal
eternal 剑圣 2022-10-11 11:41

一、该问题的重现步骤是什么?

  1.  系统对2个以上用户并发修改同一条数据用到什么机制避免数据更新错误?

  2. 比如表里有版本号控制字段:用户A和B对1条数据进行修改操作,用户A先修改完成并提交,被修改的数据版本+1,同时用户B在页面未刷新的情况下用旧数据(版本号未+1)去修改,因版本号不一致而修改失败。

   3.  如果没有版本控制时,用户B修改后会将A修改的数据覆盖,导致数据更新错误。

   4.  系统对这方面有哪些比较好的处理方式?


二、你期待的结果是什么?实际看到的又是什么?

期待的结果:用户B数据可以正确修改,或者修改且提示相应信息


三、你正在使用的是什么产品,什么版本?在什么操作系统上?

版本:BladeX-3.0.1.RELEASE


四、请提供详细的错误堆栈信息,这很重要。


五、若有更多详细信息,请在下面提供。

1条回答
  •  admin
    admin (最佳回答者)
    2022-10-13 22:43

    用分布式锁或者乐观锁来解决

    0 讨论(1)
提交回复