0
Q
獨家鎖定
A
回答
1
關於MongoDB的:
蒙戈不支持開箱即用,是非常有限的,當它涉及到併發性的東西。要簡要了解什麼是支持和不支持的,請參閱mogo FAQ on concurrency。這對我來說很有幫助。
但你總是可以僞造它。用對象創建一個集合來管理你獨佔鎖。然後使用findAndModify將isLocked字段設置爲true。不要忘記添加查詢選項以查找isLocked = false的對象。如果一個對象被返回,這意味着你有鎖,如果沒有,對象已經被鎖定。
db.lockCollection.findAndModify({
query: { isLocked: false },
update: { $set: { isLocked: true } },
upsert: true
});
爲了避免無限鎖定因您可以創建一個TTL index一些任意時間段後,將刪除該文檔的失敗。這種方法的主要缺點是它是一個自定義的,所以它可能有錯誤,鎖實際上是在你的應用程序端,而不是在db上,所以其他任何代碼都可以做任何事情。
希望它有幫助!
相關問題
- 1. 與nolock和獨家鎖
- 2. XNA獨家上鎖輸入處理
- 3. NHibernate:獨佔鎖定
- 4. Hibernate + PostgreSQL:使用獨家鎖定延遲加載
- 5. 插入獨佔鎖定
- 6. SQL Server 2000獨佔鎖定
- 7. 鎖VS AcquireReader和作家鎖
- 8. 獨家重寫
- 9. 獨家iOS UTI
- 10. 獨家分離
- 11. 如何強制玩家進行鎖定?
- 12. MySQL:獨佔鎖
- 13. C讀者作家線程鎖解鎖
- 14. PostgreSQL獨佔鎖定應用程序
- 15. Java - 鎖定獨佔訪問的文件
- 16. IBM MQ傳輸隊列獨佔鎖定
- 17. 無法獲得獨佔鎖定文件
- 18. 獨家使用Bootstrap3
- 19. 如何實現獨家寫作,但非獨家閱讀?
- 20. 上市獨特的賣家和買家
- 21. Teradata - 如何選擇不鎖定作家? (鎖定行訪問與鎖定表訪問)
- 22. Dask - 獨家資源訪問?
- 23. 相互獨家的裝置?
- 24. Sharepoint 2010獨家專欄?
- 25. 獨家觸摸功能
- 26. 如何獨家更換?
- 27. ASP.NET FormsAuthentication獨家登錄
- 28. UIBarButtonItem,設置獨家觸摸
- 29. mysql:獨家選擇像SQS?
- 30. grep遞歸獨家搜索