私は 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:
テンプレート フラグメント キャッシングは問題なく機能します。何か足りないだけですか?助けてください。