日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

mongodb幽灵操作的解决方案

發布時間:2023/12/31 编程问答 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mongodb幽灵操作的解决方案 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

<Mongodb權威指南>中提到了幽靈操作

但是上面的解決方案寫得很含糊,僅僅是提到了:應答式寫入.

那么應答式寫入的具體Mongodb SQL例子是啥?

下面內容來自[1]

Write Concern用法

{ w: <value>, j: <boolean>, wtimeout: <number> }w : 該選項要求確認操作已經傳播到指定數量的mongod實例或指定標簽的mongod實例w可選的的值<number>w:1(應答式寫入)要求確認操作已經傳播到指定的單個mongod實例或副本集主實例(缺省為1)w:0(非應答式寫入)不返回任何響應,所以無法知道寫入是否成功但是對于嘗試向已關閉的套接字寫入或者網絡故障會返回異常信息w:>1(用于副本集環境)該值用于設定寫入節點的數目,包括主節點"majority"(大多數)適用于集群架構,要求寫入操作已經傳遞到絕大多數投票節點以及主節點后進行應答<tag set>要求寫入操作已經傳遞到指定tag標記副本集中的成員后進行應答j : 該選項要求確認寫操作已經寫入journal日志之后應答客戶端(需要開啟journal功能)則在意外重啟,宕機等情形下可以通過journal來進行數據恢復寫入journal操作必須等待直到下次提交日志時完成寫入為降低延遲,MongoDB可以通過增加commit journal的頻率來加快journal寫入wtimeout:該選項指定一個時間限制,以防止寫操作無限制被阻塞導致無法應答給客戶端wtimeout的單位為ms,當w值大于1時生效,該參數即僅適用于集群環境當某個節點寫入時超出指定wtimeout之后,mongod將返回一個錯誤在捕獲到超時之前,mongod并不會撤銷其他節點已成功完成的寫入wtimeout值為0時等同于沒有配置wtimeout選項,容易導致由于某個節點掛起而無法應答對于單實例應答的情形,是將數據寫入到內存后開始應答,除非j:true,則保證掉電后不會丟失數據


1、非應答式寫入圖示

MongoDB不對客戶端進行應答,驅動會檢查套接字,網絡錯誤等。mongos> db.version()3.2.9mongos> db.version()3.2.9mongos> dbtestmongos> db.blogs.insert({ename:"leshami",url:"http://blog.csdn.net/leshami"},{writeConcern:{w:0}})WriteResult({ }) //此處應答為空mongos> db.blogs.find({},{_id:0}){ "ename" : "leshami", "url" : "http://blog.csdn.net/leshami" }

2、應答式寫入圖示

應答式寫入是默認值MongoDB會在收到寫入操作并且確認該操作在內存中應用后進行應答,但不會確認數據是否已寫入磁盤同時允許客戶端捕捉網絡、重復key等等錯誤mongos> db.blogs.insert({ename:"john",url:"http://blog.csdn.net/john"},{writeConcern:{w:1}})WriteResult({ "nInserted" : 1 }) //此處應答信息顯示為1個文檔已插入mongos> db.blogs.find({},{_id:0}){ "ename" : "leshami", "url" : "http://blog.csdn.net/leshami" }{ "ename" : "john", "url" : "http://blog.csdn.net/john" }

所以應答式還是非應答式取決于writeConcern中的w的取值
?

Reference:

[2]MongoDB 寫安全(Write Concern)

總結

以上是生活随笔為你收集整理的mongodb幽灵操作的解决方案的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。