防止数据同时更新的排他控制

在多人同时使用的业务应用中,防止数据同时更新是必要的,这通过排他控制来实现。排他控制分为乐观和悲观两种策略。乐观控制在更新前检查数据是否被他人修改,若有冲突则取消更新;悲观控制则在读取数据时即锁定,避免其他用户同时编辑。这两种方法各有优缺点,适用于不同的场景和更新频率。
摘要由CSDN通过智能技术生成

同时更新的问题

与文本编辑器等基本上一个人使用的“独立”应用程序不同,业务应用程序是以大量同时使用为前提的。

很多人同时使用的时候,和一个人使用的情况有很大的不同。那就是发生了“几乎同时编辑相同数据”的情况。

如果您几乎同时编辑相同的数据,如果您没有采取任何措施,您将采用稍后编辑的操作,并以微小的差异进行编辑。但是,那么也有不具合发生的情况。

在这里插入图片描述
当然,在进行更改后,您可以进行确认,但每次确认自己所做的更改是否顺利进行,这并不是很现实的。因此,为了防止这种同时更新而进行的是排他控制。

排他控制

排他控制是一种机制,让多个人不能同时更改相同的数据。使其无法更改,俗称“锁定”。
排他控制大致有以下两种方法。

  • 悲观(Pessimistic)排他控制
  • 乐观(Optimistic)排他控制

乐观排他控制

乐观排他控制不会在第一次获取更新数据时锁定数据。

相反,在更新数据之前,检查是否已被其他用户更新。此时将首次锁定对象数据。

然后,如果其他用户已经更新,则取消更新过程。我会告诉用户您取消了,并敦促您重新处理。
在这里插入图片描述
作为这种方法的特征

    评论
    添加红包

    请填写红包祝福语或标题

    红包个数最小为10个

    红包金额最低5元

    当前余额3.43前往充值 >
    需支付:10.00
    成就一亿技术人!
    领取后你会自动成为博主和红包主的粉丝 规则
    hope_wisdom
    发出的红包
    实付
    使用余额支付
    点击重新获取
    扫码支付
    钱包余额 0

    抵扣说明:

    1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
    2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

    余额充值