与对象化保存有关的问题

时间:2018-08-16 12:45:10

标签: objectify

我有一个用例,其中我第一次保存一个实体,保存后第二次我获取它,对其进行一点更新并与其他两个实体(不同的“种类”)一起批量保存。在少数情况下(50K中有10个),对数据存储区的更新将被忽略。 我的意思是,它存在于对象化缓存中,但更改未在数据存储区中发生。 之所以能够证明上述理由,是因为保存之后,我在一秒钟后再次取回了它,而且我能够看到它。

PS:保存时我也使用.now()。使用now()对不应该发生这种情况?

1 个答案:

答案 0 :(得分:0)

听起来像您在数据存储区中看到的最终一致性。 Google提供了很多文档,但这似乎是最全面的:

https://cloud.google.com/datastore/docs/articles/balancing-strong-and-eventual-consistency-with-google-cloud-datastore/

有很多方法来处理最终的一致性,可以通过避免它(使用键操作),更改数据的结构(使用@Parent关系)或用UI行为对其进行掩盖(例如,将新内容添加到UI代码中的列表中,而不仅仅是刷新整个列表。)