<div dir="ltr">Подниму свой вопрос: Как чистить кеш для отдельных вирт. хостов(т.е. чистить кеш по отдельным ключам)?<div>Имею достаточно большое кол-во вирт хостов, и когда требуется сбросить кеш для одного хоста, то приходиться сбрасывать сразу для всех.<br><div><br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><span style="color:rgb(80,0,80);font-size:12.8000001907349px">Сделайте разные кеши для разных server_name, будете очищать всю директорию.</span></blockquote><div>Сейчас у меня под кеш есть каталог /tmp/ram 10гб</div><div>Куда складывается кеш от 20-ти разных вирт хостов</div><div>Получается какой-то вирт хост занимает под кеш больше места, какой-то меньше, но если в кеш требуетсья положить очередную порцию с какого-либо вирт хоста, а кеш уже забит, то произойдет замещение не актуального кеша на новый.</div><div><br></div><div>В случае же разделения кеша по вирт хостам, /tmp/ram/host1 /tmp/ram/host2 и т.д. то получается мне либо на каждый хост надо выделить по 500Мб, но это не эффективно, потому что сейчас один вирт хост может требовать 100мб под кеш а другой 700мб, а через час ситуация может поменяться уже в обратную сторону. Второй вариант для всех  /tmp/ram/host1 /tmp/ram/host2 и т.д. укахывать размер 10Гб, но тогда если например host1 займет все 10Гб, то host2 уже хранить кеш будет негде, и на сколько я понимаю, удалять неактуальный он автоматически уже не будет. так?</div><div><br></div><div><br></div></div></div></div><div class="gmail_extra"><br><div class="gmail_quote">26 мая 2015 г., 13:37 пользователь Roman Arutyunyan <span dir="ltr"><<a href="mailto:arut@nginx.com" target="_blank">arut@nginx.com</a>></span> написал:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class=""><br>
On 26 May 2015, at 13:22, Иван Мишин <<a href="mailto:simplebox66@gmail.com">simplebox66@gmail.com</a>> wrote:<br>
<br>
> Может быть кто-то кроме Романа знает, что будет В случае расположения директивы на уровне  server, обратившись к <a href="http://xxx.ru" rel="noreferrer" target="_blank">xxx.ru</a> используя спец заголовок, обновиться ли весь кеш ресурса к <a href="http://xxx.ru" rel="noreferrer" target="_blank">xxx.ru</a> ?<br>
<br>
</span>Не очень понятно, что вы имели в виду под "обновить весь кеш ресурса к <a href="http://xxx.ru" rel="noreferrer" target="_blank">xxx.ru</a>”.<br>
<br>
Если вы располагаете proxy_cache_bypass на уровне server, то эта директива наследуется<br>
всеми локейшенами со всеми вытекающими последствиями.  Будет обновлен тот один элемент<br>
кеша, который соответствует вашему ключу.<br>
<div class="HOEnZb"><div class="h5"><br>
><br>
> 25 мая 2015 г., 14:53 пользователь Иван Мишин <<a href="mailto:simplebox66@gmail.com">simplebox66@gmail.com</a>> написал:<br>
> Да, работать будет.  Если вас устраивает такой способ обновления кеша, то все ок.<br>
><br>
> В случае расположения директивы на уровне  server, обратившись к <a href="http://xxx.ru" rel="noreferrer" target="_blank">xxx.ru</a> используя спец заголовок, обновиться весь кеш ресурса к <a href="http://xxx.ru" rel="noreferrer" target="_blank">xxx.ru</a> ?<br>
><br>
> Сделайте разные кеши для разных server_name, будете очищать всю директорию.<br>
> Слишком много server_name у меня для такой схемы, можно будет легко запутаться при настройке кеша для того или иного ресурса.<br>
><br>
> 25 мая 2015 г., 14:31 пользователь Roman Arutyunyan <<a href="mailto:arut@nginx.com">arut@nginx.com</a>> написал:<br>
><br>
><br>
> On 25 May 2015, at 13:43, Иван Мишин <<a href="mailto:simplebox66@gmail.com">simplebox66@gmail.com</a>> wrote:<br>
><br>
> > proxy_cache_bypass не чистит кеш, а игнорит закешированный ответ для<br>
> > Ну к примеру лежит у меня в кеше  <a href="http://xxx.ru/page.html" rel="noreferrer" target="_blank">xxx.ru/page.html</a><br>
> > Если я обращусь к  <a href="http://xxx.ru/page.html" rel="noreferrer" target="_blank">xxx.ru/page.html</a> то получу ее из кеша, а если обращусь к <a href="http://xxx.ru/page.html" rel="noreferrer" target="_blank">xxx.ru/page.html</a> используя спец заголовок описанный в proxy_cache_bypass, то запрос пойдет на бекенд а по возвращении ляжет в кеш тем самым обновив старый кеш . И уже при последующем обращении к <a href="http://xxx.ru/page.html" rel="noreferrer" target="_blank">xxx.ru/page.html</a> я получу в ответ уже обновленный кеш. Разве нет?<br>
><br>
> Да, работать будет.  Если вас устраивает такой способ обновления кеша, то все ок.<br>
><br>
> ><br>
> > > Выходит в моем случае кеш можно чистить только удалением файлов из каталога с кешем?<br>
> ><br>
> > В большинстве случаев это будет работать.<br>
> > Вариант хорош, но у меня кеш огромного размера и мне потребуется сбросить кеш для определенного server_name то я получу десятки тысяч файлов, которые не понятно каким средствами можно удалить.<br>
><br>
> Сделайте разные кеши для разных server_name, будете очищать всю директорию.<br>
><br>
> ><br>
> > 25 мая 2015 г., 13:27 пользователь Roman Arutyunyan <<a href="mailto:arut@nginx.com">arut@nginx.com</a>> написал:<br>
> > Добрый день,<br>
> ><br>
> > On 25 May 2015, at 13:11, Иван Мишин <<a href="mailto:simplebox66@gmail.com">simplebox66@gmail.com</a>> wrote:<br>
> ><br>
> > > Рассмотрел вариант с proxy_cache_bypass, но возник вопрос, а если у меня несколько фронтенд nginx и при вводе домена в браузере я попадаю то на один фронтенд nginx то на другой , а уж затем на бекенд. Получается что при использовании proxy_cache_bypass я почищу кеш только на одном произвольном фронтенд nginx, а на остальных фронтендах кеш останется старый.<br>
> ><br>
> > proxy_cache_bypass не чистит кеш, а игнорит закешированный ответ для<br>
> > конкретного запроса.  Для очистки кеша надо использовать директиву<br>
> > proxy_cache_purge, но она на данный момент доступна лишь в коммерческой<br>
> > версии.<br>
> ><br>
> > В любом случае изменения, конечно, будут касаться именно того nginx,<br>
> > на котором вы выполняете указанные действия.<br>
> ><br>
> > > Выходит в моем случае кеш можно чистить только удалением файлов из каталога с кешем?<br>
> ><br>
> > В большинстве случаев это будет работать.<br>
> ><br>
> > --<br>
> > Roman Arutyunyan<br>
> ><br>
> ><br>
> ><br>
> > _______________________________________________<br>
> > nginx-ru mailing list<br>
> > <a href="mailto:nginx-ru@nginx.org">nginx-ru@nginx.org</a><br>
> > <a href="http://mailman.nginx.org/mailman/listinfo/nginx-ru" rel="noreferrer" target="_blank">http://mailman.nginx.org/mailman/listinfo/nginx-ru</a><br>
> ><br>
> > _______________________________________________<br>
> > nginx-ru mailing list<br>
> > <a href="mailto:nginx-ru@nginx.org">nginx-ru@nginx.org</a><br>
> > <a href="http://mailman.nginx.org/mailman/listinfo/nginx-ru" rel="noreferrer" target="_blank">http://mailman.nginx.org/mailman/listinfo/nginx-ru</a><br>
><br>
> --<br>
> Roman Arutyunyan<br>
><br>
><br>
><br>
> _______________________________________________<br>
> nginx-ru mailing list<br>
> <a href="mailto:nginx-ru@nginx.org">nginx-ru@nginx.org</a><br>
> <a href="http://mailman.nginx.org/mailman/listinfo/nginx-ru" rel="noreferrer" target="_blank">http://mailman.nginx.org/mailman/listinfo/nginx-ru</a><br>
><br>
><br>
> _______________________________________________<br>
> nginx-ru mailing list<br>
> <a href="mailto:nginx-ru@nginx.org">nginx-ru@nginx.org</a><br>
> <a href="http://mailman.nginx.org/mailman/listinfo/nginx-ru" rel="noreferrer" target="_blank">http://mailman.nginx.org/mailman/listinfo/nginx-ru</a><br>
<br>
--<br>
Roman Arutyunyan<br>
<br>
<br>
<br>
_______________________________________________<br>
nginx-ru mailing list<br>
<a href="mailto:nginx-ru@nginx.org">nginx-ru@nginx.org</a><br>
<a href="http://mailman.nginx.org/mailman/listinfo/nginx-ru" rel="noreferrer" target="_blank">http://mailman.nginx.org/mailman/listinfo/nginx-ru</a></div></div></blockquote></div><br></div>