Invalidate just one page under a location directive.

António P. P. Almeida appa at
Wed Feb 8 17:10:34 UTC 2012

On 8 Fev 2012 16h22 WET, quintinpar at wrote:

> Invalidate a cache page using the bypass mechanism
> proxy_cache_bypass, not expiration

IMHO the best option would be from the application side send a
'X-Accel-Expires: 0' header. But this needs to be done at the *app

Unless you place something in the headers that the application returns
Nginx there's no way of Nginx to know what is going on.

> To put it simply, Invalidate cache for a particular key entry but
> not all of the cache

> e.g for
> location = /vehicles {
> proxy_cache_key         $request_uri;
> }
> Hashtable for cache:
> [
> => cached page for cars
> => cached page for bus
>> cached page for bike
> + 10,000 key, values
> ]

> I should be able to invalidate just "cars" because my page for cars
> have changed but not others. Say a person added a comment in the
> cars page.  Another analogy is to invalidate cache for a single blog
> post when all the blog posts have been cached under a single
> location directive.  -Quintin

Send a 'X-Accel-Expires: 0' header from the application at:

--- appa

More information about the nginx mailing list