我在App Engine生产环境中遇到了一个奇怪的案例。
有一个实体已正确更新。我能够在数据存储区查看器中看到更新的值。还有一个请求,它在查询中检索了同一个实体。实体出现在结果中,但它具有属性的旧值。我能够通过清除memcache来解决问题。 查询直接在数据存储上执行,而不是从memcache返回。光标初始化为无
announcements, cursor, more = query.fetch_page(
msg.valid_data.get('limit') or 40, start_cursor=cursor)
直接查询是否可以从memcache返回结果? ndb caching documentation
中没有任何内容它可能与游标有关吗?
答案 0 :(得分:4)
不,这与memcache或游标无关,但与最终的一致性有关。显然不保证非祖先查询返回更新的数据。