2009-09-21 8 views
4

私は自分のサイドバーに小さなスニペットを持っています。スニペットは各ページに表示され、フェッチするのは安いですが(私の超低速ネットブックで約50ms!)、あまり頻繁には変更されませんので、キャッシュしておきたいと思っています(まだDjangoのキャッシュフレームワーク、私は学びたい)。ミドルウェアまたはカスタムテンプレートタグを使用してスニペットを頻繁に変更しないでください

ミドルウェアまたはカスタムテンプレートタグは、ここに行く最良の方法はわかりません。これらのアプローチでキャッシュを実装するのがどれほど簡単かはわかりません。これは標準的なことです(つまり、各ページに表示されるフラグメントのフラグメントキャッシュ)。私は確かにDjangonicの方法がありますが、それが見つからないと確信しています。

あなたはどのようにしますか?

+0

「スニペット」を定義できますか? – Fragsworth

+0

ステータスメッセージ(ツイートに投稿するもの)。 –

答えて

2

ミドルウェアを使用する必要はありません。このために、カスタムテンプレートタグが機能します。ステータスメッセージのようなことをしているので、現在のビューが何であれ関連しないので、タグは間違いなく適切です。

キャッシュバックエンド(this is very easy to do)を設定するだけで、cache.set()cache.get()メソッドにアクセスして、ステータスメッセージを保存して取得することができます。ステータスメッセージが更新されると必ずキャッシュをクリアしてください。

+0

+1 - 私はこれを受け入れられた回答とマークしましたが、Nedの回答にも問題はありません。 –

4

これはTemplate fragment cachingに最適です。

+0

これは、コンテンツが変更されると遅延が発生することがない限り、良いことです。 – Fragsworth

+0

@Fragsworth - そうではありません。 –

+0

+1私から - ありがとう! –

関連する問題