【发布时间】:2020-01-18 12:57:39
【问题描述】:
我有一个使用 Cloud Firestore 数据存储模式创建的项目。
我使用com.google.cloud.datastore.Datastore.put没有事务执行写操作,在执行写操作后我使用com.google.cloud.datastore.Datastore.get对刚刚写入的记录执行读操作。但据我所知,在某些情况下,读取操作不会只返回写入值。
这看起来像是最终一致性,但根据 https://cloud.google.com/datastore/docs/firestore-or-datastore 'Cloud Firestore Datastore Mode' 是强一致性数据库。
如果您在没有事务的情况下执行写入操作,是否可能不是强一致?根据此https://cloud.google.com/datastore/docs/concepts/transactions 事务是可选的,我没有找到任何信息表明它们需要使 Firestore 数据存储区保持强一致性。
是否需要设置一些东西来实现强一致性?
【问题讨论】:
-
您是否检查了看跌过程中返回的任何错误?您是否确保从 put 返回的密钥始终用于 get?
-
是的,我正在检查错误但没有收到任何错误。是的,我确定我使用了正确的密钥。
-
您在等待写操作完成吗?它应该是高度一致的。请提供代码。
标签: google-cloud-platform google-cloud-firestore google-cloud-datastore