What if I just delete a file from cache to invalidate cache item?
mdounin at mdounin.ru
Tue Nov 16 21:39:56 MSK 2010
On Tue, Nov 16, 2010 at 01:14:38PM -0500, ttyx wrote:
> I have a system handling tons of requests per second (god bless nginx).
> I have
> proxy_cache_key "$request_uri";
> proxy_cache_valid 200 1s;
> I need to increase the cache lifetime.
> What if I set proxy_cache_valid to something large, and when my data
> changes (cache dependency),
> I would caclulate md5(request_uri) and go to
> /my_nginx_cache_dir/a/ab/abc..... and just delete the corresponding
> cache item.
> Will it work? I mean it will of course.
Yes it will.
> But will it have a potential
> problem when my delete_the_file system call can interfere with the nginx
> internal cache read routines?
The only potential problem is that nginx wouldn't be immediatly
aware of deleted cache files (it will find this out once it'll try
to access cache file) and information about total cache disk usage
may be off from real life (and hence nginx won't be able to maintain
correct cache max_size).
More information about the nginx