Firebase 数据库并发数据写入
Firebase Database concurrent data writing
为了在 Firebase 数据库中写入数据,我在 android 应用程序中使用了 setValue()。
我的问题是:如果我同时使用 Admin API 更改值,变量的值可以更改吗?
所有客户端对数据库的所有写入都是有序的。它是来自客户端应用程序还是来自管理 SDK 并不重要。如果有两个数据库客户端试图将不同的值写入数据库中的同一位置,则顺序中的最后一个写入器会覆盖之前的值,这就是所有其他客户端最终将看到的值。
如果您想决定在发生此类冲突时该怎么做,您可以使用 transaction 来确保每个客户端都确切地知道先前的数据是什么,以及新数据将。当有很多作者试图增加它时,这就是你如何使计数器之类的东西安全地增加。
为了在 Firebase 数据库中写入数据,我在 android 应用程序中使用了 setValue()。
我的问题是:如果我同时使用 Admin API 更改值,变量的值可以更改吗?
所有客户端对数据库的所有写入都是有序的。它是来自客户端应用程序还是来自管理 SDK 并不重要。如果有两个数据库客户端试图将不同的值写入数据库中的同一位置,则顺序中的最后一个写入器会覆盖之前的值,这就是所有其他客户端最终将看到的值。
如果您想决定在发生此类冲突时该怎么做,您可以使用 transaction 来确保每个客户端都确切地知道先前的数据是什么,以及新数据将。当有很多作者试图增加它时,这就是你如何使计数器之类的东西安全地增加。