Как настроить лимит кэша Django PymemcacheCache, чтобы он превышал 1 МБ
Похожий вопрос был опубликован здесь относительно регулировки лимита в 1мб для хранения memcached в настройках Django. Однако, ответ был связан с django.core.cache.backends.memcached.MemcacheCache, который с тех пор был устаревшим.
Я попытался реализовать предоставленное решение с бэкендом django.core.cache.backends.memcached.PyMemcacheCache, но предоставленные OPTIONS ('server_max_value_length') не распознаются.
Я не могу найти доступный список Options для более нового бэкенда PyMemcache из django (по крайней мере, ни одного, который позволил бы мне настроить лимит хранения.
).Мои настройки выглядят следующим образом:
CACHES = {
'default': {
'BACKEND': 'django.core.cache.backends.memcached.PyMemcacheCache',
'LOCATION': 'cache:11211',
'OPTIONS': {
'server_max_value_length': 1024*1024*10
}
}
}
Я развертываю приложение в Docker-образе Python 3 с конфигурацией docker-config.yml. Конфигурационный файл относительно memcached выглядит следующим образом:
cache:
image: memcached
ports:
- "11211:11211"
entrypoint:
- memcached
- -m 64
- -I 10m
При кэшировании представлений, которые возвращают JSON-ответы с < 1MB данных, кэширование работает отлично и значительно повышает скорость.
Основная цель здесь - ускорить время отклика. Что касается оптимизации запроса, то это простой GET, который отфильтровывает компанию аутентифицированных пользователей. Я думаю, что пагинация также поможет ускорить время отклика, поскольку возвращается большой список данных. Просто хотел найти опции ограничения memcached для нового бэкенда PyMemcacheCache.