首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >解析python中的google应用程序引擎对象

解析python中的google应用程序引擎对象
EN

Stack Overflow用户
提问于 2013-10-27 05:12:15
回答 1查看 79关注 0票数 0

有没有可能像这样解析google应用引擎对象..。

代码语言:javascript
复制
objects = db.GqlQuery('SELECT * FROM Database WHERE item='random'')
memcache.add('object', objects, 3600)
if object =='some condition':
  #here can I do a query on 'objects' without using GqlQuery
elif object =='something else':
  #do a different query than the one above

其思想是将一个对象存储到memcache中,然后以不同的方式操作该对象。这是为了减轻数据存储读取。提前感谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-10-27 06:36:55

你可以,每个人都会发现他们做到了。然而,有很多事情你需要考虑。

  1. 目前,您正试图在memcache中存储查询对象,而不是结果。代码中的objects是一个查询对象。使用run、fetch等来获得一些结果。
  2. 操作对象和存储在memcache中而不写回将意味着您将丢失数据等,所以memcache不是appengine上的一种可靠的存储机制(它只是一个缓存),而且任何时候都可以删除。
  3. 如果查询的目的是返回单个结果,则按键获取对象--与查询相比,它比memcache效率要高得多,速度也不太慢。(ndb将为您缓存获取-参见下一点)
  4. 看起来您是从appengine开始的,如果您还没有现有的代码库,那么从ndb而不是db开始。在我看来,这是一个更好的图书馆。在memcache和请求/实例中使用get()时,ndb为您做了很多缓存。
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19614864

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档