3

私は Flask で簡単な Web アプリケーションを作成しており、Gunicorn を使用して実行します。Varnish を使用して、このアプリケーションから返されたページをキャッシュする方法を知りたいです。

この記事に従って、同じく Gunicorn で実行されている Django アプリケーションで Varnish を使用することができました。手順には、1 つの追加のアプリケーションといくつかのミドルウェアの使用が含まれていましたが、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 に答える