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