2012-08-11 38 views
3

我正在用Flask編寫一個簡單的Web應用程序,並使用Gunicorn運行它。我想知道如何使用Varnish緩存此應用程序返回的頁面。如何使用Gunicorn和Varnish運行燒瓶?

我已經能夠使用Django應用程序,也運行在Gunicorn上,通過使用this article。這些說明包括使用一個額外的應用程序和一些中間件,但我不知道如何使用Flask做到這一點。

感謝您的建議!

回答

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 
+1

警告,你需要使用括號''最大年齡=%d '%(60 * 60 * 24 * 30)'如果你不想擁有''max-age = 60「* 60 * 24 * ;) – 2015-01-05 15:41:35