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

用python解析google应用程序引擎对象,python,google-app-engine,Python,Google App Engine,有没有可能像这样解析google app engine对象 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 =='somethin

有没有可能像这样解析google app engine对象

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中,然后以不同的方式操作该对象。这是为了减轻数据存储读取的负担。提前谢谢

你能做到,每个人都会发现他们做到了。但是有很多事情需要考虑。

  • 目前,您正在尝试将查询对象而不是结果存储在memcache中<代码>对象在代码中是一个查询对象。使用run、fetch等获得一些结果

  • 操作对象并存储在memcache中而不回写将意味着您将丢失数据等。memcache在appengine上不是一种可靠的存储机制(它只是一个缓存),任何时候都可能被逐出

  • 如果您的查询旨在返回单个结果,那么按键获取对象与查询相比,它的效率要高得多,并且不会比memcache慢很多。(ndb将为您缓存gets-请参阅下一点)

  • 看起来您是从appengine开始的,如果您没有现有的代码库,那么从
    ndb
    开始,而不是
    db
    。我认为这是一个更好的图书馆
    ndb
    在memcache和请求/实例中为您进行大量缓存(使用get()时)