【问题标题】:GAE memcache vs request sessionGAE 内存缓存与请求会话
【发布时间】:2015-03-15 18:52:28
【问题描述】:

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

【问题讨论】:

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


    【解决方案1】:

    GAE 会话由 Memcache 和 Datastore 支持:

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

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

    【讨论】:

      【解决方案2】:

      使用 Objectify 或其他可以为您处理所有缓存的智能框架将所有内容简单地存储在数据存储中。

      最重要的是,您可以通过创建实体的键来处理实体,并且您不必对数据存储执行任何查询,因为这样缓存将不起作用。如果你可以根据 userId 为 memcache 编写一个 key,那么你可以为 datastore 做。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-09-30
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多