Почему у меня не работает промежуточное ПО для кеширования сайтов? - PullRequest
5 голосов
/ 07 февраля 2011

Я использую Django 1.3 beta 1 и настраиваю memcached.Я внес изменения в мои 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:

Кэширование фрагментов шаблона работает отлично.Я что-то пропустил?Пожалуйста, помогите.

1 Ответ

0 голосов
/ 10 февраля 2011

Похоже, у вас все настроено правильно. Единственное возможное предостережение, которое я вижу в документации, это:

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

К сожалению, я предполагаю, что вы уже знаете это, и это вам не поможет.

...