gpt4 book ai didi

firebase - 什么时候应该使用 Firebase 事务

转载 作者:行者123 更新时间:2023-12-03 11:42:22 25 4
gpt4 key购买 nike

我了解 Firebase 事务可以对某些值进行原子更新,因为它的旧值和新值

但鉴于 Firebase 是一个实时数据库,我认为,必须谨慎地使用事务,而不是在“实时功能”中

这是一个例子:

  • 我知道如果您对一个值执行一些数学运算(添加“喜欢”或等价物),使用事务
  • 是有意义的。
  • 我不明白在以下用例中使用事务是否有意义:假设一个文本字段可以由任意数量的用户更新,我们对所有更新感兴趣,因为它们是实时发生的。在这种情况下,firebase 是否建议我们使用事务?或者是在值上发生的最终“持久操作”是否仅限于 Firebase 服务器时钟的每个时间戳粒度的单个“持久操作”?

  • 此外,是否保证事件将按照最终值被持久化的顺序传递?

    最佳答案

    每当您在数据库上使用事务时,您都会牺牲一些可扩展性,以获得更强的数据一致性保证。 Firebase 数据库上的事务没有什么不同,除非开发人员倾向于在更高并发的情况下使用 Firebase。

    对于任何事务系统:保持系统可扩展性的关键是尽量减少争用更新相同数据的客户端数量。对于 Firebase,您可以通过在 JSON 树中尽可能低地运行事务来实现这一点。 IE。计数器是可以在事务下正常工作的示例。

    对于较大的数据块,例如您的文本编辑示例,使用事务不会很好地扩展。对于此类用例,最好找到一种完全避免冲突的方法。通常这归结为存储每个用户所做的增量,而不是存储更新的状态。 Firepad example 就是一个很好的例子。 ,它使用操作转换在 Firebase 数据库之上创建一个高度并发的协作编辑器。

    关于firebase - 什么时候应该使用 Firebase 事务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38111370/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com