<p>Thanks Antonio.</p>

<p>Great deal of help. </p>

<p>Looking into the wiki I see </p>

<p>“The following response headers flag a response as
uncacheable unless they are <a href="http://wiki.nginx.org/HttpProxyModule#proxy_ignore_headers" target="_blank">ignored</a>:</p>

<p>Set-Cookie</p>

<p>Cache-Control containing "no-cache",
"no-store", "private", or a "max-age" with a
non-numeric or 0 value</p>

<p>Expires with a time in the past</p>

<p>X-Accel-Expires: 0“</p>

<p>This also means that if I send a curl call from my
backend with a Cache-Control : max-age=1, then the corresponding request/page
in cache will get invalidated the next second. </p>

<p>X-Accel-Expires
also does the same thing I suppose. That solves my dilemma. </p>

<p>-Quintin </p><div class="gmail_quote">On Wed, Feb 8, 2012 at 10:40 PM, António P. P. Almeida <span dir="ltr"><<a href="mailto:appa@perusio.net" target="_blank">appa@perusio.net</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">


<div>On 8 Fev 2012 16h22 WET, <a href="mailto:quintinpar@gmail.com" target="_blank">quintinpar@gmail.com</a> wrote:<br>
<br>
> Invalidate a cache page using the bypass mechanism<br>
> proxy_cache_bypass, not expiration<br>
<br>
</div>IMHO the best option would be from the application side send a<br>
'X-Accel-Expires: 0' header. But this needs to be done at the *app<br>
level*.<br>
<br>
Unless you place something in the headers that the application returns<br>
Nginx there's no way of Nginx to know what is going on.<br>
<div><br>
> To put it simply, Invalidate cache for a particular key entry but<br>
> not all of the cache<br>
<br>
> e.g for<br>
><br>
> location = /vehicles {<br>
><br>
> proxy_cache_key         $request_uri;<br>
><br>
> }<br>
><br>
> Hashtable for cache:<br>
><br>
> [<br>
><br>
> <a href="http://jj.com/vehicles/cars" target="_blank">http://jj.com/vehicles/cars</a> => cached page for cars<br>
><br>
> <a href="http://jj.com/vehicles/bus" target="_blank">http://jj.com/vehicles/bus</a> => cached page for bus<br>
><br>
> <a href="http://jj.com/vehicles/bike=" target="_blank">http://jj.com/vehicles/bike=</a>> cached page for bike<br>
> + 10,000 key, values<br>
> ]<br>
<br>
<br>
> I should be able to invalidate just "cars" because my page for cars<br>
> have changed but not others. Say a person added a comment in the<br>
> cars page.  Another analogy is to invalidate cache for a single blog<br>
> post when all the blog posts have been cached under a single<br>
> location directive.  -Quintin<br>
<br>
</div>Send a 'X-Accel-Expires: 0' header from the application at:<br>
<br>
<a href="http://jj.com/vehicles/cars" target="_blank">http://jj.com/vehicles/cars</a><br>
<div><div><br>
--- appa<br>
<br>
_______________________________________________<br>
nginx mailing list<br>
<a href="mailto:nginx@nginx.org" target="_blank">nginx@nginx.org</a><br>
<a href="http://mailman.nginx.org/mailman/listinfo/nginx" target="_blank">http://mailman.nginx.org/mailman/listinfo/nginx</a><br>
</div></div></blockquote></div><br>