Mongodb并发更新计数器保持一致性findAndModify

问题描述 投票:0回答:0

我们在 mongodb 中存储了计数器,多个线程正在尝试读取和递增计数器。一个线程是否可以使用 findAndModify() 覆盖另一个线程的值。例如,如果 6 个线程同时将 conute 增加 +1,则计数器值为 1,我们应该得到结果 7。但是如果一个覆盖其他值,我们可能会收到小于 7 的值,例如 5 左右。 findAndModify() 是否保持一致性。 Mongodb findAndModify 执行乐观或悲观锁定?在乐观锁定中,其他线程将抛出它已被修改的异常。在悲观锁定中,多个 findAndModify 将按顺序执行。

mongodb concurrency optimistic-locking pessimistic-locking findandmodify
© www.soinside.com 2019 - 2024. All rights reserved.