MongoDB使用的是讀寫鎖,寫鎖優(yōu)先級高,同時有讀寫請求的情況下,優(yōu)先滿足寫鎖。在2.2版本以前,鎖級別是全局鎖,2.2版本后是數(shù)據(jù)庫級的鎖。3.0后引入WiredTiger引擎,加入了文檔級鎖。
操作 鎖類別
查詢 讀鎖
從游標中getMore 讀鎖
寫入數(shù)據(jù) 寫鎖
刪除數(shù)據(jù) 寫鎖
更新數(shù)據(jù) 寫鎖
map-reduce 讀寫鎖
創(chuàng)建索引 寫鎖,默認的是前臺創(chuàng)建索引,將鎖住整個db,建議放后臺
eval 全局鎖,除非使用nolock:true
aggregate 讀鎖
repairDatabase 全局鎖
copyDatabase 全局鎖
副本集的同步 寫鎖,mongodb向主節(jié)點寫入數(shù)據(jù),同樣會寫到oplog中,會lock住primary,對于從節(jié)點,數(shù)據(jù)以batch方式寫入,并且向不同的從節(jié)點寫入是以并行的方式進行
網(wǎng)頁題目:常見MongoDB數(shù)據(jù)庫操作產(chǎn)生的鎖總結(jié)
文章鏈接:
http://weahome.cn/article/iiocee.html