Я использую memcached в Django для кэширования всего сайта.
https://docs.djangoproject.com/en/1.11/topics/cache/#the-per-site-cache
Я добавил некоторый код в метод обработчика сигнала после сохранения, чтобы очищать кеш при создании или обновлении определенных объектов в модели.
from proximity.models import Advert
# Cache
from django.core.cache import cache
@receiver(post_save, sender=Advert)
def save_advert(sender, instance, **kwargs):
# Clear cache
cache.clear()
К сожалению, теперь после создания нового объекта пользователь выходит из системы.
Я думаю, что причина может быть в том, что я кеширую сессии.
# Cache config
CACHE_MIDDLEWARE_SECONDS = 31449600 #(approximately 1 year, in seconds)
CACHE_MIDDLEWARE_KEY_PREFIX = COREAPP
CACHES = {
"default": {
"BACKEND": "django.core.cache.backends.memcached.MemcachedCache",
"LOCATION": "127.0.0.1:11211",
}
}
SESSION_ENGINE = "django.contrib.sessions.backends.cache"
Должен ли я использовать кеш для каждого просмотра?