在 Firebase 中对数据进行非规范化时,确保多个位置之间的数据一致性可能具有挑战性。以下是解决此问题的方法:
通过事务性更新,您可以使用单个命令保证多个路径上的原子更新。这可以确保消息中的用户名与配置文件中的名称匹配,即使事件顺序被中断也是如此。
作为替代方案,您可以将用户的根据其影响采取行动,并对辅助数据(例如消息)进行队列更新。这种方法可以确保最终的一致性,而不需要复杂的安全规则或客户端事务处理。
当重复数据本质上是事务性的时,允许不一致是可以接受的。例如,您可以存储创建消息时的名称,从而无需更新。
最佳方法取决于应用程序的具体要求。对于数据一致性并不重要的简单情况,忽略不一致可能就足够了。对于更复杂的场景,事务性更新或写入队列方法可以确保数据完整性。
以上是如何在 Firebase 中与非规范化数据保持数据同步?的详细内容。更多信息请关注PHP中文网其他相关文章!