Сейчас можно сделать только половину из того что хотелось бы...
Причины:
1)nginx сам не умеет ставить ответ в memcached (как итог надо делать логику
установки данных в memcached на уровне backend что не всегда удобно/возможно)
Но nginx никогда не считался кеширующим фронтендом. Имхо, запись в кеш -
это немного больше, чем просто мемкеш ;) По мне, так управлять с
бекендом удобнее, ибо только онный знает актуальность данных. А механизм
кеша - это отдельная песня, уж точно не в рамках ESI/SSI ;)
2)nginx не использует get_multi (и вполне понятно почему... Так как использование get_multi требует полного разбора html для получения всего списка includes что противоречит идеологии потоковой обработки по мере поступления данных)
А чем для Вас так хороша потоковая обработка? Да, уменьшаются накладные
расходы на коннекты если блоков несколько десятков, так уж тогда
хотелось бы persistent коннектов.
3)и основная для меня сейчас проблема... Возникающая из-за 1). Я не могу
использовать несколько memcached серверов как единый кластер для кэширования
nginx includes. Так как не возможно указать nginx алгоритм выбора того или
иного memcached сервера из списка на основе URL.
Это да. Надеюсь, работа с несколькими мемкешами появится скоро ;)
Я надеюсь на реализацию общего механизма кэширования данных в nginx (на подобие
mod_accel)
Где memcached cluster будет одной из поддерживаемых альтернатив файловой
системе.