我正在從 sql 轉移到 nosql 資料庫,作為其中的一部分,我正在從事一個顫振專案,我正在實施如下結構的序列。
static Future<int> get nextId async {
return database.get().then((snapshot) {
return snapshot.value;
}).then((value) {
database.set(value 1);
return value 1;
});
}
它有效,每次我使用 nextID 時,它都會在資料庫中遞增。我的問題是,當兩個不同的用戶碰巧在呼叫 nextId 時獲得相同的值時,是否有可能。
uj5u.com熱心網友回復:
如果您想防止多個用戶以沖突的方式修改相同的值,您將需要使用事務。
在這種情況下,由于您似乎只是在增加一個值,因此您也可以通過使用原子增量操作來幫助您,該操作速度明顯更快,如我在:多快可以在 Firebase 實時資料庫上以原子方式增加一個值?
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/360800.html
標籤:火力基地 扑 火力实时数据库 谷歌云firestore
