Mercurial > hg > nginx
comparison src/http/modules/ngx_http_fastcgi_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 | 973ee2276300 |
children | 195561ef367f |
comparison
equal
deleted
inserted
replaced
5904:abb466a57a22 | 5905:2f7e557eab5b |
---|---|
417 ngx_conf_set_msec_slot, | 417 ngx_conf_set_msec_slot, |
418 NGX_HTTP_LOC_CONF_OFFSET, | 418 NGX_HTTP_LOC_CONF_OFFSET, |
419 offsetof(ngx_http_fastcgi_loc_conf_t, upstream.cache_lock_timeout), | 419 offsetof(ngx_http_fastcgi_loc_conf_t, upstream.cache_lock_timeout), |
420 NULL }, | 420 NULL }, |
421 | 421 |
422 { ngx_string("fastcgi_cache_lock_age"), | |
423 NGX_HTTP_MAIN_CONF|NGX_HTTP_SRV_CONF|NGX_HTTP_LOC_CONF|NGX_CONF_TAKE1, | |
424 ngx_conf_set_msec_slot, | |
425 NGX_HTTP_LOC_CONF_OFFSET, | |
426 offsetof(ngx_http_fastcgi_loc_conf_t, upstream.cache_lock_age), | |
427 NULL }, | |
428 | |
422 { ngx_string("fastcgi_cache_revalidate"), | 429 { ngx_string("fastcgi_cache_revalidate"), |
423 NGX_HTTP_MAIN_CONF|NGX_HTTP_SRV_CONF|NGX_HTTP_LOC_CONF|NGX_CONF_FLAG, | 430 NGX_HTTP_MAIN_CONF|NGX_HTTP_SRV_CONF|NGX_HTTP_LOC_CONF|NGX_CONF_FLAG, |
424 ngx_conf_set_flag_slot, | 431 ngx_conf_set_flag_slot, |
425 NGX_HTTP_LOC_CONF_OFFSET, | 432 NGX_HTTP_LOC_CONF_OFFSET, |
426 offsetof(ngx_http_fastcgi_loc_conf_t, upstream.cache_revalidate), | 433 offsetof(ngx_http_fastcgi_loc_conf_t, upstream.cache_revalidate), |
2372 conf->upstream.cache_bypass = NGX_CONF_UNSET_PTR; | 2379 conf->upstream.cache_bypass = NGX_CONF_UNSET_PTR; |
2373 conf->upstream.no_cache = NGX_CONF_UNSET_PTR; | 2380 conf->upstream.no_cache = NGX_CONF_UNSET_PTR; |
2374 conf->upstream.cache_valid = NGX_CONF_UNSET_PTR; | 2381 conf->upstream.cache_valid = NGX_CONF_UNSET_PTR; |
2375 conf->upstream.cache_lock = NGX_CONF_UNSET; | 2382 conf->upstream.cache_lock = NGX_CONF_UNSET; |
2376 conf->upstream.cache_lock_timeout = NGX_CONF_UNSET_MSEC; | 2383 conf->upstream.cache_lock_timeout = NGX_CONF_UNSET_MSEC; |
2384 conf->upstream.cache_lock_age = NGX_CONF_UNSET_MSEC; | |
2377 conf->upstream.cache_revalidate = NGX_CONF_UNSET; | 2385 conf->upstream.cache_revalidate = NGX_CONF_UNSET; |
2378 #endif | 2386 #endif |
2379 | 2387 |
2380 conf->upstream.hide_headers = NGX_CONF_UNSET_PTR; | 2388 conf->upstream.hide_headers = NGX_CONF_UNSET_PTR; |
2381 conf->upstream.pass_headers = NGX_CONF_UNSET_PTR; | 2389 conf->upstream.pass_headers = NGX_CONF_UNSET_PTR; |
2635 ngx_conf_merge_value(conf->upstream.cache_lock, | 2643 ngx_conf_merge_value(conf->upstream.cache_lock, |
2636 prev->upstream.cache_lock, 0); | 2644 prev->upstream.cache_lock, 0); |
2637 | 2645 |
2638 ngx_conf_merge_msec_value(conf->upstream.cache_lock_timeout, | 2646 ngx_conf_merge_msec_value(conf->upstream.cache_lock_timeout, |
2639 prev->upstream.cache_lock_timeout, 5000); | 2647 prev->upstream.cache_lock_timeout, 5000); |
2648 | |
2649 ngx_conf_merge_msec_value(conf->upstream.cache_lock_age, | |
2650 prev->upstream.cache_lock_age, 5000); | |
2640 | 2651 |
2641 ngx_conf_merge_value(conf->upstream.cache_revalidate, | 2652 ngx_conf_merge_value(conf->upstream.cache_revalidate, |
2642 prev->upstream.cache_revalidate, 0); | 2653 prev->upstream.cache_revalidate, 0); |
2643 | 2654 |
2644 #endif | 2655 #endif |