Django

Django キャッシュ

キャッシュバックエンド、ビュー単位のキャッシュ、テンプレートフラグメントキャッシュ、低レベルキャッシュ API、キャッシュの無効化

20 面接問題·
Mid-Level
1

設定が指定されていない場合、Django のデフォルトのキャッシュバックエンドは何ですか?

回答

Django はデフォルトで 'LocMemCache' バックエンド(ローカルメモリキャッシュ)を使用し、データを Python プロセスのメモリに保存します。このバックエンドはシンプルで高速ですが、サーバーの再起動間でデータが保持されず、異なるプロセス間でデータを共有しません。開発には適していますが、マルチプロセスの本番環境には推奨されません。

2

ビューの完全なレスポンスを 15 分間キャッシュするにはどのデコレータを使用しますか?

回答

django.views.decorators.cache の cache_page デコレータは、ビューの完全な HTTP レスポンスをキャッシュします。パラメータは秒単位の時間です(15 分 = 900 秒)。キャッシュキーは URL とクエリパラメータから自動的に生成されます。このデコレータはキャッシュ用の適切な HTTP ヘッダーも処理します。

3

テンプレートフラグメントを 5 分間キャッシュするためのテンプレートタグの正しい構文は何ですか?

回答

{% cache %} タグはテンプレートフラグメントをキャッシュします。構文は {% cache timeout cache_name %}...{% endcache %} です。最初の引数は秒単位の時間(5 分なら 300)、2 番目はこのフラグメントを識別する一意の名前です。キャッシュを変化させるために追加の引数を加えることもできます(例: user.id)。

4

キーが存在しない場合にデフォルト値を使ってキャッシュから値を取得するにはどうしますか?

5

複数インスタンスを持つ本番環境の Django アプリケーションには、どのキャッシュバックエンドが推奨されますか?

+17 面接問題

次の面接に向けてDjangoをマスター

すべての問題、flashcards、技術テスト、コードレビュー演習、面接シミュレーターにアクセス。

無料で始める