Динамически добавлять новый сервер Memcached без перезапуска Django

Я планирую использовать django-cachalot с memcached Бэкенд для кеширования запросов в моем проекте.

У меня есть эта настройка на Elastic Beanstalk, которая может увеличиваться или уменьшаться, добавляя или удаляя экземпляры EC2. В настоящее время, когда memcached запускается на экземпляре, я добавляю IP этого экземпляра в базу данных.

pylibmcmemcached клиент, который я создаю, время от времени читает базу данных для IP-адресов сервера и создает нового клиента, если IP-адреса сервера изменились или были добавлены новые IP-адреса.

Как мне динамически добавлять серверы в django"s memcached кеш бэкэнд? или как мне установить memcached клиент django использует вручную?

1 ответ

Это, вероятно, много усилий для очень маленькой выгоды. Помните, что django распределяет объекты, которые вы кэшируете, между разными серверами memcached, которые вы определили. Таким образом, когда кто-то будет удален из рассмотрения путем автоматического масштабирования, все элементы в нем будут потеряны.

По умолчанию django не поддерживает динамическое добавление новых серверов memcached в список. Чтобы это работало, вам нужно будет создать пользовательский кеш-бэкэнд, изменив стандартный memcached бэкэнд

Другие вопросы по тегам