Django キャッシュ API を使用していくつかのアイテムを保存したいと考えています。キーに名前を付ける際に従うべきベスト プラクティスはありますか。ユーザー名をキーとして指定する人もいます。しかし、さまざまなビューでさまざまなアイテムをキャッシュし、どこでも同じキーを持つことは現実的ではありません。キーが一意になるように、ユーザー名+「ビュー固有」のキーを与える可能性があると考えていました。
キーを生成するための他の良い提案はありますか?
Django キャッシュ API を使用していくつかのアイテムを保存したいと考えています。キーに名前を付ける際に従うべきベスト プラクティスはありますか。ユーザー名をキーとして指定する人もいます。しかし、さまざまなビューでさまざまなアイテムをキャッシュし、どこでも同じキーを持つことは現実的ではありません。キーが一意になるように、ユーザー名+「ビュー固有」のキーを与える可能性があると考えていました。
キーを生成するための他の良い提案はありますか?
キーの生成は、何を達成しようとしているかによって異なります。
例えば
URLにアクセスしようとしているとしましょう:
http://yourserver/endpoint/?filter1=value1&filter2=value2
上記の場合、 (ハッシュfilter1=value1&filter2=value2
を生成することにより) キャッシュされたキーを作成するためにクエリ パラメータを使用できます。md5
前述の 2 つのオプションを考慮して、ビューがユーザー固有のデータを返す必要がある場合は、 を追加してuser id
、ユーザーの一意のキーを作成することもできます。
別の例としては、次のような URL が考えられます。ここでは、 からすべての記事にアクセスしようとしていますsource 1
。
http://yourserver/source/1/articles/?filter1=value1&filter2=value2
cache key
この場合、 に を追加することも役立つ場合がありますsource id
(したがって、これはキーの生成時にビューのコンテキスト データを使用します)。