为什么Django的每站点缓存中间件不能为我工作?

时间:2011-02-07 04:30:58

标签: python django memcached django-middleware django-cache

我正在使用Django 1.3 beta 1并设置memcached。我对settings.py Django's instructions 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}},我总是会对数据库进行点击。为什么?我是否遗漏了某些内容或者完全误解了缓存?

编辑#1:

Template fragment caching完美无缺。我只是错过了一些东西吗?请帮忙。

1 个答案:

答案 0 :(得分:0)

您似乎已正确设置了所有内容。我在文档中可以看到的唯一可能的警告如下:

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

不幸的是,我假设你已经知道了这一点,它对你没有帮助。