5

私は Django 1.3 ベータ 1 を使用しており、memcached をセットアップしています。Djangoの指示に従ってsettings.py変更を加えました:

CACHES = {
    'default': {
        'BACKEND': 'django.core.cache.backends.memcached.PyLibMCCache',
        'LOCATION': '127.0.0.1:11211',
    }
}

MIDDLEWARE_CLASSES = (
    'django.middleware.cache.UpdateCacheMiddleware',
    'django.middleware.common.CommonMiddleware',
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.csrf.CsrfViewMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'django.middleware.cache.FetchFromCacheMiddleware',
    #'debug_toolbar.middleware.DebugToolbarMiddleware',
)
CACHE_MIDDLEWARE_SECONDS = 100000
CACHE_MIDDLEWARE_KEY_PREFIX = 'site_cache'

これは私がヒットしているテスト ビュー関数です。

def home(request):

    print 'uncached'

    # ...View's code...

私は常にuncached開発サーバーの出力に出力され、データベースに常にヒットします。なんで?私は何かを見逃していますか、それともキャッシングを完全に誤解していますか?

編集#1:

テンプレート フラグメント キャッシングは問題なく機能します。何か足りないだけですか?助けてください。

4

1 に答える 1

0

すべてが正しく設定されているようです。ドキュメントで確認できる唯一の警告は次のとおりです。

The cache middleware caches every page that doesn't have GET or POST parameters.

残念ながら、あなたはすでにこれを知っていると思いますが、役に立たないでしょう.

于 2011-02-09T22:47:43.870 に答える