3

我正在用 Flask 编写一个简单的 Web 应用程序,并将使用 Gunicorn 运行它。我想知道如何使用 Varnish 缓存此应用程序返回的页面。

按照这篇文章,我已经能够将 Varnish 与同样在 Gunicorn 上运行的 Django 应用程序一起使用。说明包括使用一个额外的应用程序和一些中间件,但我不确定如何使用 Flask 来完成。

感谢您的建议!

4

1 回答 1

2

基本上,您所要做的就是在渲染 Flask 视图时返回适当的缓存标头。

例如,这是一个简单的视图,它呈现一个robots.txt文件,并指定它应该被缓存 30 天:

from flask import Flask, make_response, render_template
app = Flask(__name__)
@app.route('/robots.txt')
def robots():
    response = make_response(render_template('robots.txt'))
    response.headers['Cache-Control'] = 'max-age=%d' % 60 * 60 * 24 * 30
    return response
于 2012-08-16T01:51:04.960 回答