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://kswsj.cn/article/iiocee.html