Re: Cache: Invalidation After Updates or Deletions (RFC 2616)

2017-02-13 Пенетрантность S.A.N
Илья Шипицин Wrote:
---
> 13 февраля 2017 г., 18:01 пользователь S.A.N
> 
> написал:
> 
> > Здравствуйте.
> >
> > Есть потребность в реализации вот такого поведения:
> >
> 
> 
> а если у вас несколько экземпляров nginx ? (варианты - из простых dns
> round
> robin)
> т.е. инвалидируете вы только на одной реплике

Это уже другая зона ответственности, сейчас речь не об этом, но если в двух
словах - все что можно сделать на одной ноде, можно горизонтально
маштабирвать на другие, но общего решения на все случаи нет.

Posted at Nginx Forum: 
https://forum.nginx.org/read.php?21,272373,272375#msg-272375

___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: Cache: Invalidation After Updates or Deletions (RFC 2616)

2017-02-13 Пенетрантность Илья Шипицин
13 февраля 2017 г., 18:01 пользователь S.A.N 
написал:

> Здравствуйте.
>
> Есть потребность в реализации вот такого поведения:
>


а если у вас несколько экземпляров nginx ? (варианты - из простых dns round
robin)
т.е. инвалидируете вы только на одной реплике


>
>
> https://www.w3.org/Protocols/rfc2616/rfc2616-sec13.html
> Some HTTP methods MUST cause a cache to invalidate an entity. This is
> either
> the entity referred to by the Request-URI, or by the Location or
> Content-Location headers (if present). These methods are:
>  - PUT
>  - DELETE
>  - POST
>
> Это нужно вот для чего, есть Nginx кеш динамических ответов от бекенда, его
> TTL 3 days, URI: /news/top/
> Авторизованный пользователь добавляет новую новость, методом POST на URI:
> /news/top/
> Бекенд сохраняет этот контент и отдает клиенту НТТР статус 200.
>
> В соответствии с RFC 2616, хотелось бы чтобы Nginx, очистил кеш URI:
> /news/top/ потому что на этот URI пришел запрос методом POST и бекенд
> ответил 200 ОК, что означает что все нормально контент изменился и кеш
> этого
> URI надо инвалидировать.
>
> Тоже самое с методом DELETE.
>
> Вот с методом PUT и заголовком Content-Location можно делать ещё более
> крутые штуки, например авторизованный пользователь отправляет PUT запрос на
> URI: /news/rest.php?id=150
> Бекенд сохраняет этот контент и отдает клиенту НТТР статус 200 с заголовком
> Content-Location /news/150/ и в теле ответа уже новый контент который нужно
> сохранить в кеше использую как URI значения заголовка Content-Location
> /news/150/ т.е. Nginx должен инвалидировать кеш в ключе которого
> использовался URI /news/150/.
>
> Это очень удобный функционал, и он описан в спецификации, его можно
> реализоваь в Nginx?
> Спасибо.
>
> Posted at Nginx Forum: https://forum.nginx.org/read.
> php?21,272373,272373#msg-272373
>
> ___
> nginx-ru mailing list
> nginx-ru@nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx-ru
___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Cache: Invalidation After Updates or Deletions (RFC 2616)

2017-02-13 Пенетрантность S.A.N
Здравствуйте.

Есть потребность в реализации вот такого поведения:


https://www.w3.org/Protocols/rfc2616/rfc2616-sec13.html
Some HTTP methods MUST cause a cache to invalidate an entity. This is either
the entity referred to by the Request-URI, or by the Location or
Content-Location headers (if present). These methods are:
 - PUT
 - DELETE
 - POST

Это нужно вот для чего, есть Nginx кеш динамических ответов от бекенда, его
TTL 3 days, URI: /news/top/
Авторизованный пользователь добавляет новую новость, методом POST на URI:
/news/top/
Бекенд сохраняет этот контент и отдает клиенту НТТР статус 200.

В соответствии с RFC 2616, хотелось бы чтобы Nginx, очистил кеш URI:
/news/top/ потому что на этот URI пришел запрос методом POST и бекенд
ответил 200 ОК, что означает что все нормально контент изменился и кеш этого
URI надо инвалидировать.

Тоже самое с методом DELETE.

Вот с методом PUT и заголовком Content-Location можно делать ещё более
крутые штуки, например авторизованный пользователь отправляет PUT запрос на
URI: /news/rest.php?id=150
Бекенд сохраняет этот контент и отдает клиенту НТТР статус 200 с заголовком
Content-Location /news/150/ и в теле ответа уже новый контент который нужно
сохранить в кеше использую как URI значения заголовка Content-Location
/news/150/ т.е. Nginx должен инвалидировать кеш в ключе которого
использовался URI /news/150/.

Это очень удобный функционал, и он описан в спецификации, его можно
реализоваь в Nginx?
Спасибо.

Posted at Nginx Forum: 
https://forum.nginx.org/read.php?21,272373,272373#msg-272373

___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru