Mercurial > hg > nginx
comparison src/http/modules/ngx_http_proxy_module.c @ 5905:2f7e557eab5b
Cache: proxy_cache_lock_age and friends.
Once this age is reached, the cache lock is discarded and another
request can acquire the lock. Requests which failed to acquire
the lock are not allowed to cache the response.
author | Roman Arutyunyan <arut@nginx.com> |
---|---|
date | Tue, 18 Nov 2014 20:41:12 +0300 |
parents | 20d966ad5e89 |
children | 195561ef367f |
comparison
equal
deleted
inserted
replaced
5904:abb466a57a22 | 5905:2f7e557eab5b |
---|---|
485 { ngx_string("proxy_cache_lock_timeout"), | 485 { ngx_string("proxy_cache_lock_timeout"), |
486 NGX_HTTP_MAIN_CONF|NGX_HTTP_SRV_CONF|NGX_HTTP_LOC_CONF|NGX_CONF_TAKE1, | 486 NGX_HTTP_MAIN_CONF|NGX_HTTP_SRV_CONF|NGX_HTTP_LOC_CONF|NGX_CONF_TAKE1, |
487 ngx_conf_set_msec_slot, | 487 ngx_conf_set_msec_slot, |
488 NGX_HTTP_LOC_CONF_OFFSET, | 488 NGX_HTTP_LOC_CONF_OFFSET, |
489 offsetof(ngx_http_proxy_loc_conf_t, upstream.cache_lock_timeout), | 489 offsetof(ngx_http_proxy_loc_conf_t, upstream.cache_lock_timeout), |
490 NULL }, | |
491 | |
492 { ngx_string("proxy_cache_lock_age"), | |
493 NGX_HTTP_MAIN_CONF|NGX_HTTP_SRV_CONF|NGX_HTTP_LOC_CONF|NGX_CONF_TAKE1, | |
494 ngx_conf_set_msec_slot, | |
495 NGX_HTTP_LOC_CONF_OFFSET, | |
496 offsetof(ngx_http_proxy_loc_conf_t, upstream.cache_lock_age), | |
490 NULL }, | 497 NULL }, |
491 | 498 |
492 { ngx_string("proxy_cache_revalidate"), | 499 { ngx_string("proxy_cache_revalidate"), |
493 NGX_HTTP_MAIN_CONF|NGX_HTTP_SRV_CONF|NGX_HTTP_LOC_CONF|NGX_CONF_FLAG, | 500 NGX_HTTP_MAIN_CONF|NGX_HTTP_SRV_CONF|NGX_HTTP_LOC_CONF|NGX_CONF_FLAG, |
494 ngx_conf_set_flag_slot, | 501 ngx_conf_set_flag_slot, |
2542 conf->upstream.cache_bypass = NGX_CONF_UNSET_PTR; | 2549 conf->upstream.cache_bypass = NGX_CONF_UNSET_PTR; |
2543 conf->upstream.no_cache = NGX_CONF_UNSET_PTR; | 2550 conf->upstream.no_cache = NGX_CONF_UNSET_PTR; |
2544 conf->upstream.cache_valid = NGX_CONF_UNSET_PTR; | 2551 conf->upstream.cache_valid = NGX_CONF_UNSET_PTR; |
2545 conf->upstream.cache_lock = NGX_CONF_UNSET; | 2552 conf->upstream.cache_lock = NGX_CONF_UNSET; |
2546 conf->upstream.cache_lock_timeout = NGX_CONF_UNSET_MSEC; | 2553 conf->upstream.cache_lock_timeout = NGX_CONF_UNSET_MSEC; |
2554 conf->upstream.cache_lock_age = NGX_CONF_UNSET_MSEC; | |
2547 conf->upstream.cache_revalidate = NGX_CONF_UNSET; | 2555 conf->upstream.cache_revalidate = NGX_CONF_UNSET; |
2548 #endif | 2556 #endif |
2549 | 2557 |
2550 conf->upstream.hide_headers = NGX_CONF_UNSET_PTR; | 2558 conf->upstream.hide_headers = NGX_CONF_UNSET_PTR; |
2551 conf->upstream.pass_headers = NGX_CONF_UNSET_PTR; | 2559 conf->upstream.pass_headers = NGX_CONF_UNSET_PTR; |
2815 ngx_conf_merge_value(conf->upstream.cache_lock, | 2823 ngx_conf_merge_value(conf->upstream.cache_lock, |
2816 prev->upstream.cache_lock, 0); | 2824 prev->upstream.cache_lock, 0); |
2817 | 2825 |
2818 ngx_conf_merge_msec_value(conf->upstream.cache_lock_timeout, | 2826 ngx_conf_merge_msec_value(conf->upstream.cache_lock_timeout, |
2819 prev->upstream.cache_lock_timeout, 5000); | 2827 prev->upstream.cache_lock_timeout, 5000); |
2828 | |
2829 ngx_conf_merge_msec_value(conf->upstream.cache_lock_age, | |
2830 prev->upstream.cache_lock_age, 5000); | |
2820 | 2831 |
2821 ngx_conf_merge_value(conf->upstream.cache_revalidate, | 2832 ngx_conf_merge_value(conf->upstream.cache_revalidate, |
2822 prev->upstream.cache_revalidate, 0); | 2833 prev->upstream.cache_revalidate, 0); |
2823 | 2834 |
2824 #endif | 2835 #endif |