Тема, конечно, старая, и уже "завяла", но:
а как Вы собираетесь инвалидировать кэш если у вас, к примеру, стоит 2 frontend'а и каждый из них кэширует независимо? Вот пришёл, к примеру, один юзер на FE1, страница закэшировалась. Второй - на FE02, страница закэшировалась ещё раз. Потом прошёл какой-то запрос, в ответе на который была инвалидация по заданному ключу. И этот запрос проксируется ведь только одиним FE (например, первым). В итоге, второй FE будет отдавать старые данные и схема будет неработоспособной (если, конечно, не допускать, что при обновлении страницы пользователь может получать разные данные). 26 июля 2013 г., 21:01 пользователь Dmitry E. Oboukhov <[email protected]>написал: > >> нет это совсем не то что в фичареквесте. > >> > > ... > >> > >> я хочу получить механизм внутри обработчика сбросить кеш на другом > >> роуте. > >> как вариант - выдать хидер с урлом кеш на котором надо сбросить. > >> > >> а директивы в конфиге = это не программа это набор условий :) > >> > > я раньше решал похожую проблему с помощью модуля ngx_cache_purge ( > > http://wiki.nginx.org/CachePurgeChs ). создавал в nginx специальный > > локейшн (/purge/), при обращении к которому удалялся из кеша указанный > > элемент. Т.е. после изменения в базе, запрос по этому локейшну делает > > само приложение (для wordpress есть специальный плагин). Подробнее (с > > конфигами) можно почитать тут: > > > http://mailman.nginx.org/pipermail/nginx-ru/2013-February/050061.html > > http://mailman.nginx.org/pipermail/nginx-ru/2012-December/049347.html > > > но теперь, я бы попытался реализовать соответствующий функционал без > > стороннего модуля, а только директивой proxy_cache_bypass. > > proxy_cache_bypass ведь не дает того функционала о котором я говорю: > когда один роут сбрасывает кеш на другом роуте. > > > Таким образом, применяя предложенную мной схему, вместо того чтобы > > просто отдать nginx страницу с заголовком X-Cache-Invalid: > > "/users/top/123?all=yes", вам придётся сначала сделать запрос из > > приложения по адресу /purge/users/top/123?all=yes и элемент кеша > > обновится. > > я посмотрю внутрь модуля. сложно его доработать до того функционала > что я говорю? > > -- > > . ''`. Dmitry E. Oboukhov > : :' : email: [email protected] jabber://[email protected] > `. `~' GPGKey: 1024D / F8E26537 2006-11-21 > `- 1B23 D4F8 8EC0 D902 0555 E438 AB8C 00CF F8E2 6537 > > -----BEGIN PGP SIGNATURE----- > Version: GnuPG v1.4.10 (GNU/Linux) > > iEYEAREDAAYFAlHyq1wACgkQq4wAz/jiZTe0JwCePKuBoExhqU/EEzIzqC8xFBpm > MhQAoNBbH8GwYwoba7m0bAd9mZhX41yl > =ArMD > -----END PGP SIGNATURE----- > > _______________________________________________ > nginx-ru mailing list > [email protected] > http://mailman.nginx.org/mailman/listinfo/nginx-ru >
_______________________________________________ nginx-ru mailing list [email protected] http://mailman.nginx.org/mailman/listinfo/nginx-ru
