0
我在App Engine生产环境中遇到了一个奇怪的情况。ndb查询返回旧属性值
有一个实体已正确更新。我能够在数据存储查看器中看到更新的值。还有一个请求,它在查询中检索到相同的实体。实体出现在结果中,但它具有旧的财产价值。我能够通过清除内存缓存来解决问题。 查询直接在数据存储上执行,而不是从memcache返回。光标被初始化为无
announcements, cursor, more = query.fetch_page(
msg.valid_data.get('limit') or 40, start_cursor=cursor)
是否有任何情况下直接查询可以返回来自memcache的结果? 没有什么关于它的ndb caching documentation
它可能与游标有关吗?
我认为最终的一致性只会影响哪些实体出现在结果中,而不是它们的内容 – 2014-09-24 10:38:53
不,完全没有。如果您对现有实体进行更改,然后执行查询,则很可能会取回该实体的旧版本。 – 2014-09-24 10:59:01
谢谢。我现在知道了 – 2014-09-24 11:07:04