常见MongoDB数据库操作导致产生锁的情况,我帮你总结好啦!

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


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


作者:chenfeng

来源链接:

http://blog.itpub.net/15498/viewspace-2153909/

0c0c77e1ec0561d925322fa0aff688ce.png

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值