5

我正在使用 Django 1.3 beta 1 并设置 memcached。我settings.py根据Django 的说明对我的指令进行了更改:

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 回答