共計 762 個字符,預計需要花費 2 分鐘才能閱讀完成。
自動寫代碼機器人,免費開通
MongoDB 中 writeConcern 的原理是什么,相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。
MongoDB writeConcern 原理解析
MongoDB 支持客戶端靈活配置寫入策略(writeConcern),以滿足不同場景的需求。
db.collection.insert({x: 1}, {writeConcern: {w: 1}})
writeConcern 選項
MongoDB 支持的 WriteConncern 選項如下
w: 數據寫入到 number 個節點才向用客戶端確認
{w: 0} 對客戶端的寫入不需要發送任何確認,適用于性能要求高,但不關注正確性的場景
{w: 1} 默認的 writeConcern,數據寫入到 Primary 就向客戶端發送確認
{w:“majority”} 數據寫入到副本集大多數成員后向客戶端發送確認,適用于對數據安全性要求比較高的場景,該選項會降低寫入性能
j: 寫入操作的 journal 持久化后才向客戶端確認
默認為”{j: false},如果要求 Primary 寫入持久化了才向客戶端確認,則指定該選項為 true
wtimeout: 寫入超時時間,僅 w 的值大于 1 時有效。
當指定{w:
} 時,數據需要成功寫入 number 個節點才算成功,如果寫入過程中有節點故障,可能導致這個條件一直不能滿足,從而一直不能向客戶端發送確認結果,針對這種情況,客戶端可設置 wtimeout 選項來指定超時時間,當寫入過程持續超過該時間仍未結束,則認為寫入失敗。
看完上述內容,你們掌握 MongoDB 中 writeConcern 的原理是什么的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注丸趣 TV 行業資訊頻道,感謝各位的閱讀!
向 AI 問一下細節