首页 > 解决方案 > 为什么需要 Flutter Firebase 事务?

问题描述

我正在开发 Flutter 和 Firebase 应用程序。

我看到一些关于 Firebase 的文档,Firebase 需要事务控制来处理大量的 Firestore 文档更新。(==> 许多用户)

但是我想知道只是文档阅读和写作。

大量阅读流量或大量编写新文档是否也需要事务?

此外,当只有一个应用程序(管理应用程序)正在更新或删除文档并且许多其他用户正在阅读该文档时,是否还需要事务?

标签: firebasefluttergoogle-cloud-firestoretransactions

解决方案


当多个用户可能在(几乎)同一时间以可能导致产品冲突更新的方式更新同一文档时所需的事务。在这种情况下,您可以使用事务来防止并发写入产生冲突。

Firestore 的批量写入是其中的一个小变种,当您想以原子方式更新多个文档时可以使用它,但不要先读取任何数据来确定这些文档中的新值。

如果您的写入没有发生冲突的可能性,您就不需要使用事务或批量写入,并且使用它们实际上可能会损害性能。


因此,在您的场景中,如果只有一个来自管理应用程序的并发写入,您将不需要事务。如果您有一个不确定的特定用例,最好与我们分享该特定用例和实现代码。


推荐阅读