ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Re[2]: Повторное испол ьзование map при изменении исходной переменно й



On Fri, Jul 24, 2009 at 02:41:17PM +0400, Kirill A. Korinskiy wrote:

> At Fri, 24 Jul 2009 13:04:34 +0400,
> Vladimir Latyshev <latysheff@xxxxxxxxx> wrote:
> > 
> > Запрос:
> > http://myhost/app1/request1.php
> > 
> > Конфиг (с рудиментами, но рабочий):
> 
> понятно. Тут вопрос не в кеширование map'а а в том, что вы используете
> переменные установленные через set, которые кешируются и не
> flush'аться.
> 
> Как workaround вам подойдет такой вот патч:
> 

> diff --git a/src/http/ngx_http_script.c b/src/http/ngx_http_script.c
> index 680d8e3..8692478 100644
> --- a/src/http/ngx_http_script.c
> +++ b/src/http/ngx_http_script.c
> @@ -1766,7 +1766,7 @@ ngx_http_script_set_var_code(ngx_http_script_engine_t 
> *e)
>  
>      r->variables[code->index].len = e->sp->len;
>      r->variables[code->index].valid = 1;
> -    r->variables[code->index].no_cacheable = 0;
> +    r->variables[code->index].no_cacheable = 1;
>      r->variables[code->index].not_found = 0;
>      r->variables[code->index].data = e->sp->data;

> 
> по хорошему надо бы сделать set_no_cacheable для таких вещей.

set записывает значение прямо в r->variables, то есть, меняет именно
кэшированное значение.


-- 
Игорь Сысоев
http://sysoev.ru



 




Copyright © Lexa Software, 1996-2009.