下面给出了写出我的静态首页的类。谷歌建议记忆静态页面以获得更好的性能,但我对如何做到这一点感到迷茫。有什么建议吗?
class MainHandler(webapp2.RequestHandler):
def get (self, q):
if q is None:
q = 'index.html'
path = os.path.join (os.path.dirname (__file__), q)
self.response.headers ['Content-Type'] = 'text/html'
self.response.write (template.render (path, {}))
答案 0 :(得分:2)
Memcaching?你确定吗?您不会获得任何性能改进,因为它只是模板渲染。无论如何,你可以这样做,如下所述。
from google.appengine.api import memcache
class MainHandler(webapp2.RequestHandler):
def get (self, q):
if q is None:
q = 'index.html'
rendered = memcache.get('static_%s' % q)
if rendered is None:
path = os.path.join (os.path.dirname (__file__), q)
rendered = template.render (path, {})
self.response.headers['Content-Type'] = 'text/html'
self.response.write(rendered)
更好的方法是使用客户端缓存,例如添加Last-Modified和eTag标头。 有关如何输出304 Not Modified的一些信息,请访问:Send a "304 Not Modified" for images stored in the datastore