GAE /端点缓存如何/为何工作?

时间:2013-09-21 16:00:38

标签: google-app-engine google-cloud-endpoints

在GAE devserver上运行,我POST到我的REST URL以插入新行。我收到了反映插入项目的JSON响应。如果我然后转到API资源管理器并查询GET URL,则缺少新插入的项目。大约20秒后,以及4或5 GETS,最终新项目将包含在响应中。

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

此缓存/异步行为的来源是什么,以及我如何删除它?

2 个答案:

答案 0 :(得分:1)

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

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

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

答案 1 :(得分:1)

这是因为最终的一致性。

您可以构建您的查询,使其与此处概述的一致:https://developers.google.com/appengine/docs/python/datastore/structuring_for_strong_consistency

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