ndb查询返回旧属性值

时间:2014-09-24 09:35:28

标签: google-app-engine google-cloud-datastore app-engine-ndb

我在App Engine生产环境中遇到了一个奇怪的案例。

有一个实体已正确更新。我能够在数据存储区查看器中看到更新的值。还有一个请求,它在查询中检索了同一个实体。实体出现在结果中,但它具有属性的旧值。我能够通过清除memcache来解决问题。 查询直接在数据存储上执行,而不是从memcache返回。光标初始化为无

announcements, cursor, more = query.fetch_page(
    msg.valid_data.get('limit') or 40, start_cursor=cursor)

直接查询是否可以从memcache返回结果? ndb caching documentation

中没有任何内容

它可能与游标有关吗?

1 个答案:

答案 0 :(得分:4)

不,这与memcache或游标无关,但与最终的一致性有关。显然不保证非祖先查询返回更新的数据。

请参阅structuring data for strong consistency上的文档。