Как заменить 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.

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