5

NDB query() 是否通过缓存?

NDB 文档提到它将自动使用缓存。这仅适用于 get_by_id 还是也适用于查询语句,例如:

Product.query().order(Product.name).fetch()

在许多页面中,我都显示了一个产品列表,这就是我希望它来自缓存的原因。

另一种方法是自己查询产品列表并存储在 memcache 中,但在这种情况下,产品更新不会最终出现在我的“手动”缓存中。或者是否可以自己将所有产品 ID 存储在缓存中,然后通过 memcache/datastore 检索它们。但这需要一个 get_by_id 接受多个 id 并返回一个列表..

4

1 回答 1

1

我有同样的问题。由于查询没有被缓存(至少在不同的上下文之间,或者这是我在文档中所理解的),我决定将查询缓存并使其与我的添加/更新/删除数据保持同步。

是我解决这个问题的方法。我希望它有所帮助。

于 2013-05-23T07:32:02.480 回答