【问题标题】:Best Practice for temporary query result storage in Google App EngineGoogle App Engine 中临时查询结果存储的最佳实践
【发布时间】:2011-06-27 21:36:59
【问题描述】:

我有一个查询需要一些时间(它涉及一些计算和访问第三方)。目前,用户发出 HTTP 请求以启动查询(它立即返回)。 GAE 将任务放入队列并执行。执行后,任务将结果存储在静态对象中。用户稍后发出另一个 HTTP 请求以检索结果。

有没有最佳实践方法来实现这样的事情?将结果存储在 DataStore 中会更好吗?

【问题讨论】:

    标签: google-app-engine


    【解决方案1】:

    任务将结果存储在静态对象中

    您如何确保来自同一用户的后续请求命中同一实例,以便它可以访问静态对象?

    更好的方法当然是将其存储在 memcache(容易命中或未命中)和/或数据存储中。请记住,使用新的定价模型,数据存储操作将花费更多。

    【讨论】:

    • 结果只会被获取一次(然后被移除)。因此,即使它不会使用 memcache 的缓存优势,我认为它仍然会比数据存储更快地检索。
    • 是的,如果它只使用一次,那么存储在memcache和gamble中是没有意义的。确保在您的以下请求读取这些实体后从数据存储中删除这些实体。
    • 正如@kunal 指出的那样,由于无论如何您都必须将其存储在数据存储中(为了可靠性),并且一旦过期就将其删除,因此将其存储在内存缓存中根本没有意义。跨度>
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-08-29
    • 2011-11-19
    • 2018-01-21
    • 1970-01-01
    • 1970-01-01
    • 2013-05-17
    • 1970-01-01
    相关资源
    最近更新 更多