Как настроить Memcached для Django?

Я пытаюсь настроить Memcached решение, но, похоже, оно не работает. Я тестировал кэширование только представления и всего решения с тем же результатом. Вот мой settings.py:

    MIDDLEWARE = [
    'django.middleware.security.SecurityMiddleware',
    'django.contrib.sessions.middleware.SessionMiddleware',
    # CORS
    'corsheaders.middleware.CorsMiddleware',

    # adding caches around CommonMiddleware
    'django.middleware.cache.UpdateCacheMiddleware',     # NEW
    'django.middleware.common.CommonMiddleware',
    'django.middleware.cache.FetchFromCacheMiddleware',  # NEW

    'django.middleware.csrf.CsrfViewMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'django.contrib.messages.middleware.MessageMiddleware',
    'django.middleware.clickjacking.XFrameOptionsMiddleware',
]

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

# cache settings
CACHE_MIDDLEWARE_ALIAS = 'default'
CACHE_MIDDLEWARE_SECONDS = '6000'
CACHE_MIDDLEWARE_KEY_PREFIX = ''

Я установил memcached с помощью Homebrew, и он работает правильно. Я протестировал его с помощью telnet.

Я пробую вызов, который возвращает несколько тысяч результатов, и я не вижу никакого выигрыша во времени для 2-го вызова и далее. Любая помощь в решении этой проблемы будет очень признательна!

Похоже, что вы используете CACHE_MIDDLEWARE_SECONDS = '6000', передавая строку, когда на самом деле вы должны передать int или float, попробуйте изменить это на CACHE_MIDDLEWARE_SECONDS = 6000

Вернуться на верх