如何使用Gunicorn和Varnish运行Flask?

时间:2012-08-11 18:00:20

标签: python caching flask varnish gunicorn

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

通过跟随this article,我已经能够使用Varnish和Django应用程序,也可以在Gunicorn上运行。说明包括使用一个额外的应用程序和一些中间件,但我不知道如何使用Flask。

感谢您的建议!

1 个答案:

答案 0 :(得分: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