最近有新項目上線,實在太忙了,學習的進度有點拖沓,但會堅持。mongodb
今天要學的是《20 | 事務開發:讀操做事務之一》章節。主要講解的是怎麼哪裏讀取數據的問題。學習
值有5個,以下圖,默認爲primary,即從主結點讀數據。spa
以電商訂單,舉了一個實際的例子,乾貨。rest
這部分經過給結點打標籤,能夠控制從哪一組來讀。code
• 主節點寫入 {x:1}, 觀察該條數據在各個節點都可見blog
• 在兩個從節點分別執行 db.fsyncLock() 來鎖定寫入(同步)
• 主節點寫入 {x:2}圖片
• db.test.find({a: 123}) • db.test.find({a: 123}).readPref(「secondary」)
• 解除從節點鎖定 db.fsyncUnlock()事務
• db.test.find({a: 123}).readPref(「secondary」)
使用 Tag 時也會遇到一樣的問題,若是隻有一個節點擁有一個特定 Tag,則在這個節點失效時將無節點可讀。這在有時候是指望的結果,有時候不是。例如:資源
今天內容就這些,明天繼續。開發