2

在 GAE 开发服务器上运行,我发布到我的 REST URL 以插入新行。我得到一个反映插入项目的 JSON 响应。如果我随后转到 API 资源管理器并查询 GET URL,则新插入的项目丢失了。在 20 秒左右和 4 或 5 次 GETS 后,最终新项目将包含在响应中。

端点代码是默认生成的代码。

这种缓存/异步行为来自哪里的任何想法,以及如何删除它?

4

2 回答 2

1

这是 GAE 的数据存储的最终一致性行为。GAE 文档中有详细记录。

您必须重写 GET 查询才能完全一致。

这是一个开始: https ://developers.google.com/appengine/docs/python/datastore/structuring_for_strong_consistency

于 2013-09-21T16:38:59.540 回答
1

这是因为最终的一致性。

您可以按照此处所述将查询构造为高度一致:https ://developers.google.com/appengine/docs/python/datastore/structuring_for_strong_consistency

但是,如果您只是简单地执行 get,则应该使用 key.get()。这也是高度一致的,并且是您应该检索单个实体的方式。

于 2013-09-22T05:15:19.417 回答