常见MongoDB数据库操作产生的锁总结

MongoDB使用的是读写锁,写锁优先级高,同时有读写请求的情况下,优先满足写锁。在2.2版本以前,锁级别是全局锁,2.2版本后是数据库级的锁。3.0后引入WiredTiger引擎,加入了文档级锁。


操作                       锁类别
查询                        读锁
从游标中getMore        读锁
写入数据                   写锁
删除数据                   写锁
更新数据                   写锁
map-reduce              读写锁
创建索引                  写锁,默认的是前台创建索引,将锁住整个db,建议放后台
eval                        全局锁,除非使用nolock:true
aggregate                读锁
repairDatabase         全局锁
copyDatabase           全局锁
副本集的同步           写锁,mongodb向主节点写入数据,同样会写到oplog中,会lock住primary,对于从节点,数据以batch方式写入,并且向不同的从节点写入是以并行的方式进行


当前文章:常见MongoDB数据库操作产生的锁总结
链接分享:http://scyanting.com/article/iiocee.html