Как заменить MemcachedCache на PyMemcacheCache в Django?
Я запускаю свой сайт на Django 3.2. Я прочитал в Django's cache framework, что MemcachedCache и python-memcached являются устаревшими. Я установил pymemcache==3.5.0 на моем staging-сервере и перешел на CACHE_URL=pymemcache://127.0.0.1:11211 в env.ini. Но если я удалю python-memcached с помощью pip, я получу сообщение об ошибке, которое указывает на то, что MemcachedCache все еще используется моим кодом, и он не работает на import memcache.
Мой код использует следующие импорты:
from django.core.cache import cache
from django.core.cache.backends.base import DEFAULT_TIMEOUT
Как заменить MemcachedCache на PyMemcacheCache так, чтобы MemcachedCache не использовался в коде?
Я использую django-environ==0.8.1 и CACHES определено в моих настройках:
CACHES = {
'default': env.cache()
}
env определяется как environ.Env().
My Traceback:
Мой репозиторий: https://github.com/speedy-net/speedy-net
Обновление: Я проверил сообщение электронной почты, которое я получил для отладки, и я вижу, что CACHES в настройках равно {'default': {'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache', 'LOCATION': '127.0.0.1:11211'}}.
Я не знаю почему, но способ, которым я перезапустил свой сервер во время развертывания, не обновляет env.ini, и сервер запоминает старые настройки. Если я перезапускаю сервер с sudo reboot, с теми же настройками, то CACHES становится равным {'default': {'BACKEND': 'django.core.cache.backends.memcached.PyMemcacheCache', 'LOCATION': '127.0.0.1:11211'}} и сайт работает правильно. И я подтвердил, что если я помещу фиктивные значения в env.ini, то сайт вообще не работает. Но только если я перезапускаю сервер с sudo reboot.