В настоящее время я использую proxy_cache nginx для файлового кеширования перед тремя приложениями Django (Apache / mod_wsgi). Для некоторых местоположений / URL-адресов я отключил proxy_cache и вместо этого использовал Memcached (для каждого представления) в приложении Django. Теперь мне интересно, эффективнее ли указывать nginx на Memcached.
Я читаю Вот, что nginx может обслуживать страницы из Memcached - но записывает ли Django полные страницы в Memcached при настройке для кэширования каждого представления (и устанавливает ли срок истечения срока действия в соответствии с параметром @cache_page)?
Использование различных приложений для записи и чтения из кэша всегда затруднено, даже если существуют строго предписанные форматы / протоколы данных. В этом случае, хотя и nginx, и django могут обращаться к memcached, маловероятно, что они будут использовать одни и те же форматы данных / индексации.
Кэширование обратного прокси-сервера сильно отличается от кеширования исходного сервера. На самом деле нет смысла делать какие-либо вывод кеширование на уровне приложения (хотя часто бывает полезно выполнить кэширование данных здесь). Весь контент, который будет отправлен через HTTP, должен кэшироваться nginx, и только nginx. Какой субстрат он использует для этого - другой вопрос.