1

下面给出了写出我的静态首页的类。谷歌建议使用内存缓存静态页面以获得更好的性能,但我不知道如何去做。有什么建议么?

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, {}))
4

1 回答 1

2

内存缓存?你确定吗?您不会得到任何性能改进,因为它只是模板渲染。无论如何,您可以像下面描述的那样执行此操作。

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 的一些信息:为存储在数据存储中的图像发送“304 Not Modified”

于 2013-04-29T16:01:34.023 回答