我有一个使用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数据存储模式”是高度一致的数据库。
如果您不执行事务,写操作是否可能不一致很强?因此,https://cloud.google.com/datastore/docs/concepts/transactions交易是可选的,我没有找到使Firestore Datastore保持高度一致所需的任何信息。
是否需要设置某些内容以使强一致性工作正常?
答案 0 :(得分:0)
由于您不使用事务,因此有可能在您的写操作完成之前执行读操作。发生这种情况的原因可能是业务量大或写入量大。使用事务将防止这种情况的发生,因为您可以允许读操作仅在写操作完成后才能运行。