Установка привязки Python к Memcached
После установки Memcached необходимо установить привязку Python к Memcached.
Мы установим быстрый клиент Memcached - pymemcache. Выполните следующую ниже команду в оболочке:
pip install pymemcache==3.5.2
Подробнее о библиотеке pymemcache можно почитать на странице https://github.com/pinterest/pymemcache.
Настроечные параметры кэша
Django предоставляет следующие настроечные параметры кэша:
CACHES: словарь, содержащий все доступные проекту кэши;
CACHE_MIDDLEWARE_ALIAS: используемый для хранения псевдоним кэша;
CACHE_MIDDLEWARE_KEY_PREFIX: префикс ключей кэша. Префикс устанавливается во избежание конфликтов ключей, если один и тот же кеш используется на нескольких сайтах;
CACHE_MIDDLEWARE_SECONDS: принятое по умолчанию число секунд кэширования страниц.
Систему кэширования в проекте можно конфигурировать с помощью настроечного параметра CACHES. Этот параметр позволяет указывать конфигурацию нескольких кэшей. Каждый включенный в словарь CACHES кэш может указывать следующие данные:
BACKEND: подлежащий использованию кэш-бэкенд;
KEY_FUNCTION: строковый литерал, содержащий точечный путь к вызываемому объекту, который принимает префикс, версию и ключ в качестве аргументов и возвращает окончательный ключ кэша;
KEY_PREFIX: строковый префикс для всех ключей кэша во избежание конфликтов;
LOCATION: местоположение кэша. В зависимости от кэша-бэкенда это может быть каталог, хост и порт или имя резидентного бэкенда;
OPTIONS: любые дополнительные параметры, которые должны передаваться в кэш-бэкенд;
TIMEOUT: принятый по умолчанию тайм-аут в секундах для хранения ключей кэша. По умолчанию равен300секундам, то есть 5 минутам. Если установлено значениеNone, то срок действия ключей кэша не истекает;
VERSION: принятый по умолчанию номер версии ключей кэша. Удобен для управления версиями кэша.
Добавление кеш-сервера Memcached в проект
Давайте сконфигурируем кеш под ваш проект. Отредактируйте файл settings.py проекта django_htmx, добавив в него следующий ниже исходный код:
CACHES = {
'default': {
'BACKEND': 'django.core.cache.backends.memcached.PyMemcacheCache',
'LOCATION': '127.0.0.1:11211',
}
}
Здесь используется бэкенд PyMemcacheCache. При этом его местоположение задается посредством нотации адрес:порт.
Если есть несколько экземпляров кеш-сервера Memcached, то в LOCATION можно использовать список.
Вы настроили резидентный кеш-сервер Memcached под проект django_htmx. Начнём кешировать данные!