下面给出了写出我的静态首页的类。 Google 建议使用内存缓存静态页面以获得更好的性能,但我不知道如何去做。有什么建议吗?
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, {}))
最佳答案
内存缓存?你确定吗?您不会获得任何性能改进,因为它只是模板渲染。无论如何,您可以像下面描述的那样执行此操作。
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 header 。 有关如何输出 304 Not Modified 的一些信息,您可以在这里找到:Send a "304 Not Modified" for images stored in the datastore
关于python - memcache GAE 中的静态首页,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16282523/