Подниму свой вопрос: Как чистить кеш для отдельных вирт. хостов(т.е. чистить кеш по отдельным ключам)? Имею достаточно большое кол-во вирт хостов, и когда требуется сбросить кеш для одного хоста, то приходиться сбрасывать сразу для всех.
Сделайте разные кеши для разных server_name, будете очищать всю директорию. Сейчас у меня под кеш есть каталог /tmp/ram 10гб Куда складывается кеш от 20-ти разных вирт хостов Получается какой-то вирт хост занимает под кеш больше места, какой-то меньше, но если в кеш требуетсья положить очередную порцию с какого-либо вирт хоста, а кеш уже забит, то произойдет замещение не актуального кеша на новый. В случае же разделения кеша по вирт хостам, /tmp/ram/host1 /tmp/ram/host2 и т.д. то получается мне либо на каждый хост надо выделить по 500Мб, но это не эффективно, потому что сейчас один вирт хост может требовать 100мб под кеш а другой 700мб, а через час ситуация может поменяться уже в обратную сторону. Второй вариант для всех /tmp/ram/host1 /tmp/ram/host2 и т.д. укахывать размер 10Гб, но тогда если например host1 займет все 10Гб, то host2 уже хранить кеш будет негде, и на сколько я понимаю, удалять неактуальный он автоматически уже не будет. так? 26 мая 2015 г., 13:37 пользователь Roman Arutyunyan <[email protected]> написал: > > On 26 May 2015, at 13:22, Иван Мишин <[email protected]> wrote: > > > Может быть кто-то кроме Романа знает, что будет В случае расположения > директивы на уровне server, обратившись к xxx.ru используя спец > заголовок, обновиться ли весь кеш ресурса к xxx.ru ? > > Не очень понятно, что вы имели в виду под "обновить весь кеш ресурса к > xxx.ru”. > > Если вы располагаете proxy_cache_bypass на уровне server, то эта директива > наследуется > всеми локейшенами со всеми вытекающими последствиями. Будет обновлен тот > один элемент > кеша, который соответствует вашему ключу. > > > > > 25 мая 2015 г., 14:53 пользователь Иван Мишин <[email protected]> > написал: > > Да, работать будет. Если вас устраивает такой способ обновления кеша, > то все ок. > > > > В случае расположения директивы на уровне server, обратившись к xxx.ru > используя спец заголовок, обновиться весь кеш ресурса к xxx.ru ? > > > > Сделайте разные кеши для разных server_name, будете очищать всю > директорию. > > Слишком много server_name у меня для такой схемы, можно будет легко > запутаться при настройке кеша для того или иного ресурса. > > > > 25 мая 2015 г., 14:31 пользователь Roman Arutyunyan <[email protected]> > написал: > > > > > > On 25 May 2015, at 13:43, Иван Мишин <[email protected]> wrote: > > > > > proxy_cache_bypass не чистит кеш, а игнорит закешированный ответ для > > > Ну к примеру лежит у меня в кеше xxx.ru/page.html > > > Если я обращусь к xxx.ru/page.html то получу ее из кеша, а если > обращусь к xxx.ru/page.html используя спец заголовок описанный в > proxy_cache_bypass, то запрос пойдет на бекенд а по возвращении ляжет в кеш > тем самым обновив старый кеш . И уже при последующем обращении к > xxx.ru/page.html я получу в ответ уже обновленный кеш. Разве нет? > > > > Да, работать будет. Если вас устраивает такой способ обновления кеша, > то все ок. > > > > > > > > > Выходит в моем случае кеш можно чистить только удалением файлов из > каталога с кешем? > > > > > > В большинстве случаев это будет работать. > > > Вариант хорош, но у меня кеш огромного размера и мне потребуется > сбросить кеш для определенного server_name то я получу десятки тысяч > файлов, которые не понятно каким средствами можно удалить. > > > > Сделайте разные кеши для разных server_name, будете очищать всю > директорию. > > > > > > > > 25 мая 2015 г., 13:27 пользователь Roman Arutyunyan <[email protected]> > написал: > > > Добрый день, > > > > > > On 25 May 2015, at 13:11, Иван Мишин <[email protected]> wrote: > > > > > > > Рассмотрел вариант с proxy_cache_bypass, но возник вопрос, а если у > меня несколько фронтенд nginx и при вводе домена в браузере я попадаю то на > один фронтенд nginx то на другой , а уж затем на бекенд. Получается что при > использовании proxy_cache_bypass я почищу кеш только на одном произвольном > фронтенд nginx, а на остальных фронтендах кеш останется старый. > > > > > > proxy_cache_bypass не чистит кеш, а игнорит закешированный ответ для > > > конкретного запроса. Для очистки кеша надо использовать директиву > > > proxy_cache_purge, но она на данный момент доступна лишь в коммерческой > > > версии. > > > > > > В любом случае изменения, конечно, будут касаться именно того nginx, > > > на котором вы выполняете указанные действия. > > > > > > > Выходит в моем случае кеш можно чистить только удалением файлов из > каталога с кешем? > > > > > > В большинстве случаев это будет работать. > > > > > > -- > > > Roman Arutyunyan > > > > > > > > > > > > _______________________________________________ > > > 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 > > > > -- > > Roman Arutyunyan > > > > > > > > _______________________________________________ > > 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 > > -- > Roman Arutyunyan > > > > _______________________________________________ > 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
