Mongodb事務模擬

2021-09-01 22:00:40 字數 470 閱讀 6756

1、建立事務表,新增一條記錄,如果成功,執行第2步,如果失敗,則事務失敗。

2、將該事務的id標誌加在要執行事務的一批資料上,並新增狀態字段:待插入狀態。然後執行批量寫操作。如果成功,則執行第3步,如果失敗,則執行第6步。

3、update mult 待插入狀態 -> 成功狀態。

如果成功,執行第4步。如果失敗,執行第6步。

4、刪除事務表當前批次事務資料。如果成功,執行第5步,如果失敗執行第6步。

5、事務提交成功。

6、執行3次清道夫程式,如果成功則事務回滾成功,如果失敗,則交由清道夫守護程式再定時執行。

1)mult刪除該事務批次狀態為「待插入狀態」的資料

2)刪除事務表事務記錄。

注:寫操作時無論是c u d,均為新增一條記錄,並將version+1,取記錄永遠取version最新的資料。此處實現有一定邏輯,非本文重點,清道夫守護執行緒也非本文重點,均

不再熬述。

mongodb 事務操作

事務必須用在複製集上 獲取session session db.getmongo startsession 開啟事務 session.starttransaction 獲得collection yun1 session.getdatabase database yun1 操作 yun1.insert...

關於Mongodb的事務

關於事務 事務的隔離級別 未提交讀 髒讀資料 已提交讀 不可重複讀 幻讀 序列化 serializable解決 uncommitted read 解決 unrepeat read 解決 mongodb的部署方式 單機模式 乙個primary 在記憶體中 包含 乙個databuffer 乙個journ...

事務例子 模擬轉賬

需求 需求 有乙個轉賬功能 service transfer to,from,money reducebalance to,money 模擬錯誤i 5 0 increasebalance from,money dao reducebalance userid,money increasebalanc...