gpt4 book ai didi

python - 使用 memcache 增加检索 perf python appengine

转载 作者:行者123 更新时间:2023-11-28 20:52:09 27 4
gpt4 key购买 nike

你好我想知道在appengine env中我做的事情是否有用因为我不知道为什么这个页面很慢。

class Foo(db.Model):
id = db.StringProperty(multiline=True)
name = db.StringProperty(multiline=True)
date = db.DateTimeProperty(auto_now_add=True)
description = db.TextProperty()
carac = db.StringProperty(multiline=True)



class FoosPage(webapp.RequestHandler):
def get(self):
foos = memcache.get("all-foos")
if foos is None:
foos = Foo.all()
size = foo.count()
else :
size = len(foo)

foosTab=[]
for i in range(size) :
foosTab.insert(i,foos[i])
memcache.set("all-foos", foosTab, 60)
template_values = {
'foos': foos
}
path = os.path.join(os.path.dirname(__file__) + '/../templates/', 'foos.html')
self.response.out.write(template.render(path, template_values))

最佳答案

您在循环中有 memcache.set()。这对 memcache 服务造成了大量不必要的流量。在循环之后执行一次。

此外,根据您的编码方式,无需建立size

foosTab = []
for foo in foos:
foosTab.append(foo)

或者更通俗地说

foosTab = [foo for foo in foos]

这将节省您执行单独的 count() 的时间。

关于python - 使用 memcache 增加检索 perf python appengine,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7448151/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com