我有一個擁有這些屬性的用戶對象。DynamoDB避免重複的非關鍵屬性
id
(鍵),name
和email
,我試圖以確保這些屬性在DB獨特。
如何防止put
/create
/save
操作得手,在任一非關鍵屬性,email
和name
的情況下,已經存在的數據庫?
我有一張表,tblUsers
,其中一個關鍵屬性是id
。 然後我有兩個全局二級索引,每個都有一個關鍵屬性,第一個索引表爲email
,第二個爲name
。
我正在使用microsoft.net標識框架,它本身會在創建用戶之前使用給定名稱或電子郵件檢查現有用戶。
我預見到的問題是檢查現有用戶和創建新用戶之間的延遲。沒有安全性,多個線程不會最終創建具有相同名稱或電子郵件的兩個用戶。
沒想過鎖 - 我想這是我最好的選擇 - 鎖 - >檢查重複 - >創建 - >發佈 – Tsanas
是的,我用這種方式也:) –