Как настроить 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