GAE内存缓存与请求会话

时间:2015-01-17 04:57:03

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

我在GAE上部署了一个商店前端应用程序,允许用户查看他们的订单历史记录。我试图在使用memcache缓存数据之间做出决定,或者只是将数据存储在用户会话中,而不是每次请求新的页面/订单集时都会访问数据存储区。任何人都可以推荐一个或另一个?如果我使用了memcache,我可能会使用用户ID和硬编码字符串的组合作为memcache条目的键。

2 个答案:

答案 0 :(得分:2)

GAE会话由Memcache和数据存储区支持:

  

App Engine包含使用servlet的会话实现   会话界面。该实现将会话数据存储在App中   用于持久性的引擎数据存储,还使用memcache来提高速度。   (documentation

由于您无论如何都需要将订单数据存储在数据存储区中,因此使用会话将导致两次保存相同的数据。所以我建议使用Memcache。

答案 1 :(得分:1)

只需使用Objectify或其他智能框架将所有内容存储在数据存储区中,该框架将为您处理所有缓存。

最重要的是,您可以通过创建密钥来解决实体问题,而不必对数据存储执行任何查询,因为缓存不起作用。如果您可以根据userId为memcache创建密钥,那么您可以为数据存储区执行此操作。

相关问题