此代码有效:
for num in range(1,4):
results = memcache.get("link_" + str(num))
output.write('An anonymous person wrote: <blockquote>%s</blockquote>' % results.date)
return output.getvalue()
此代码无效:
results = memcache.get_multi(linkKeys,"link_")
for results in results:
output.write('An anonymous person wrote: <blockquote>%s</blockquote>' % results.date)
return output.getvalue()
有人可以向我解释为什么使用memcache.get_multi会返回错误:
Traceback (most recent call last):
File "C:\Program Files\Google\google_appengine\google\appengine\ext\webapp\__init__.py", line 515, in __call__
handler.get(*groups)
File "C:\Main.py", line 28, in get
values.write(self.RenderValue())
File "C:\Main.py", line 57, in RenderValue
output.write('An anonymous person wrote: <blockquote>%s</blockquote>' % results.date)
AttributeError: 'str' object has no attribute 'date'
感谢所有帮助我解决这个问题的人!
答案 0 :(得分:1)
结果* s * in result * s * ??
答案 1 :(得分:0)
memcache只能存储pickleable对象。你能安全地挑选一个GqlQuery
结果吗?如果没有,您可能需要先将其转换为dict
,然后再将其转交给memcache。
请参阅pickle docs以及相关的GAE文档。
您可能还想对此进行基准测试,看看使用memcache是否真的有帮助。