4

だから私はdjangoでビューベースのキャッシュを使用しています。キャッシュにはあまり適していないビューと、実際には適しているビューがあるからです。ただし、キャッシュしたこれらのビューの一部では、ユーザーごとに出力が異なります。ビューベースのキャッシュをユーザーごとに分ける方法はありますか? @vary_on_cookie デコレータはまさに私が必要としていたもののように見えましたが、ビューベースのキャッシュでは機能しないようです?

現時点で私の見解は次のとおりです。

@vary_on_cookie
@cache_page(60 * 5)
def view(request):

匿名でログインすると、ログインしたユーザーがキャッシュした内容を確認できます。

何か案は?このタイプの問題にはおそらく低レベルのキャッシュを使用できることはわかっていますが、それを行うためのより簡単な django の方法がなかったら驚いています。それは一般的な問題になるようです。

ありがとう

トム

4

2 に答える 2

0

でクライアントベースのキャッシュを簡単に使用できますcache_control。お気に入り:

@cache_control(max_age=60 * 5)
def view(request):
于 2012-04-28T07:32:17.860 に答える
0

ここには、Django キャッシュ フレームワークを使用するスニペットがあります。自分で改造できると思います。38行目です:

key = make_cache_key(request.get_full_path(), getattr(request, 'supports_html5', None))

あなたはそれをに変更することができます

key = make_cache_key(request.user[.id], request.get_full_path(), getattr(request, 'supports_html5', None))

ユーザーが異なるページキーを持つようにします。

于 2012-04-28T08:19:42.523 に答える