我正在使用Flask编写一个简单的Web应用程序,并将使用Gunicorn运行它。我想知道如何使用Varnish缓存此应用程序返回的页面。
通过跟随this article,我已经能够使用Varnish和Django应用程序,也可以在Gunicorn上运行。说明包括使用一个额外的应用程序和一些中间件,但我不知道如何使用Flask。
感谢您的建议!
答案 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