我有一个用云修复数据存储模式创建的项目。
我使用com.google.cloud.datastore.Datastore.put 执行没有事务的写入操作,在执行写之后,我使用com.google.cloud.datastore.Datastore.get对刚刚写入的记录执行读操作。但据我所见,在某些情况下,read操作不只是返回书面值。
这看起来像是最终的一致性,但是根据这个https://cloud.google.com/datastore/docs/firestore-or-datastore,‘CloudFi还原数据存储模式’是非常一致的数据库。
如果您在没有事务的情况下执行操作,那么写操作是否可能不是强一致的?根据这一点,https://cloud.google.com/datastore/docs/concepts/transactions事务是可选的,并且我没有找到任何信息,说明它们是使Firestore完全一致的必要条件。
是否需要设置一些东西来使强一致性工作?
发布于 2019-09-19 03:11:41
因为您没有使用事务,所以您的读操作有可能在写操作完成之前执行。这可能是由于大量的流量或大的写入大小造成的。使用事务将防止这种情况发生,因为您可以只允许在写操作完成后才运行读操作。
https://stackoverflow.com/questions/57978010
复制相似问题