Flask-Cache をキャッシュ管理に使用する方法
キャッシュはアプリケーションのパフォーマンスを向上させる重要な手段の 1 つであり、計算集約的または時間のかかる演算結果を保存し、次に必要なときにそれらを直接使用できます。キャッシュされた結果を返すことで計算やデータベース クエリの繰り返しを回避し、応答速度を向上させます。 Flask を使用して Web アプリケーションを開発するプロセスでは、キャッシュ管理に Flask-Cache 拡張機能を使用できます。この記事では、キャッシュ管理に Flask-Cache を使用する方法と、対応するコード例を紹介します。
まず、プロジェクトに Flask-Cache 拡張機能をインストールする必要があります。 pip コマンドでインストールできます。コマンド例は次のとおりです:
pip install flask-cache
Flask アプリケーションのエントリ ファイルで、最初に以下に示すように、Flask-Cache モジュールをインポートし、必要に応じてキャッシュ ストレージ方法を選択する必要があります。
from flask import Flask from flask_cache import Cache app = Flask(__name__) # 选择缓存的存储方式 cache = Cache(app, config={'CACHE_TYPE': 'simple'})
上記のコードでは、キャッシュ ストレージ方法としてシンプル モードを選択し、キャッシュ データを保存します。メモリ。シンプル モードに加えて、Flask-Cache は、実際のニーズに応じて選択できる Redis、ファイルシステムなどの他のキャッシュ モードも提供します。
Flask-Cache を使用した後、@cache.cached デコレータを通じてビュー関数の結果をキャッシュできます。例は次のとおりです。
@app.route('/') @cache.cached(timeout=60) # 缓存结果60秒 def index(): # 执行一些耗时的操作,如计算、数据库查询等 # 返回结果 return 'Hello, Flask!'
上の例では、インデックス ビュー関数をキャッシュしました。キャッシュされた結果の有効期間は 60 秒です。つまり、60 秒以内の同じリクエストは、ビュー関数を実行するコードの代わりにキャッシュされた結果。
キャッシュをクリアする必要がある場合は、@cache.clear デコレータを使用してビュー関数を装飾できます。サンプル コードは次のとおりです。
@app.route('/clear_cache') @cache.clear def clear_cache(): return 'Cache cleared!'
上記の例では、「/clear_cache」パスにアクセスすると、すべてのキャッシュがクリアされます。
デフォルトでは、Flask-Cache はビュー関数の URL をキャッシュ キー値として使用しますが、キャッシュをカスタマイズしたい場合があります。キーの値。 @cache.cached デコレーターの make_key パラメーターを使用して、キャッシュ キー値をカスタマイズする機能を実装できます。サンプル コードは次のとおりです:
@app.route('/user/<username>') @cache.cached(timeout=60, make_key=lambda view_name, **kwargs: f'user:{kwargs["username"]}') def user(username): # 根据用户名查询用户信息 # 返回结果 return f'Hello, {username}!'
上記の例では、make_key パラメーターを使用してカスタマイズしましたユーザーのキャッシュ キーの値。形式は「ユーザー:ユーザー名」です。このように、有効期間内に同じユーザー名がビュー機能をリクエストした場合、キャッシュされた結果が直接返されます。
概要
Flask-Cache 拡張機能を使用すると、キャッシュ管理機能を簡単に実装し、アプリケーションの応答速度を向上させることができます。この記事では、キャッシュ管理に Flask-Cache を使用する方法を紹介し、対応するコード例を示します。 Flaskを使ってWebアプリケーションを開発する際のキャッシュ管理のお役に立てれば幸いです。
以上がキャッシュ管理に Flask-Cache を使用する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。