Invalidate just one page under a location directive.

Валентин Бартенев ne at vbart.ru
Wed Feb 8 09:06:22 UTC 2012


On Wednesday 08 February 2012 11:44:04 Quintin Par wrote:
> Hi all,
> 
> A section of my virtual(say /industry) is cached with
> 
>  proxy_cache_key         $scheme$host$request_uri;
> 
> key. This will cache all pages under this virtual. I do cache invalidation
> by firing a request with
> 
>  proxy_cache_bypass
> 
> Now if I need to invalidate cache for a page under this virtual, how should
> I go about doing it?
> 
> Say /industry is the location directive
> 
> I need to invalidate just
> 
>  /industry/category/cars
> 
> How do I do this?
> 

The best way would be to create a location for this particular page:

  location /industry/category/cars {
      ...
  }

http://nginx.org/en/docs/http/ngx_http_core_module.html#location


also, you can utilize the map directive functionality, e.g:

  map $uri $is_cached_uri {
      default                  1;
      /industry/category/cars  0;
  }

  proxy_cache_bypass $is_cached_uri;

http://wiki.nginx.org/HttpMapModule


 wbr, Valentin V. Bartenev



More information about the nginx mailing list