当前位置:  开发笔记 > 数据库 > 正文

MongoDB如何处理并发更新?

如何解决《MongoDB如何处理并发更新?》经验,为你挑选了2个好方法。

到目前为止,我开始在工作中使用MongoDB.我想知道MongoDB如何处理并发更新?我已经读过MongoDB中没有锁定功能,所以我想知道处理这个问题的常用做法是什么.

谢谢.



1> Remon van Vl..:

MongoDB使用进程范围的写锁定来保证一次只能执行一次写操作(更新/插入/删除).因此,它自动解决并发问题,因为不允许写并发.

如果4个线程尝试更新操作,则其中一个线程将执行写锁定,执行更新并释放锁定.之后剩下的3个中的一个将抓住锁,进行更新等.

如果您的操作无法包含在单个写入操作中,则并发性才会起作用.请注意,对于最常见的用例(查找文档,更新它并以原子方式获取新版本),MongoDB提供了"findAndModify"命令,该命令就是这样:http://www.mongodb.org/display/DOCS/findAndModify+Command

更新:锁定现在更精细.



2> Karoly Horva..:

使用修饰符操作:

$inc $set $unset $push $pushAll $addToSet $pop $pull $pullAll $rename $bit

所有这些都是原子的.


只要您使用修饰符操作,您拥有多少并发写入并不重要.
推荐阅读
手机用户2402851155
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有