Повторное использование map при изменении исходной переменной

Kirill A. Korinskiy catap+nginx at catap.ru
Fri Jul 24 14:41:17 MSD 2009


At Fri, 24 Jul 2009 13:04:34 +0400,
Vladimir Latyshev <latysheff at gmail.com> wrote:
> 
> Запрос:
> http://myhost/app1/request1.php
> 
> Конфиг (с рудиментами, но рабочий):

понятно. Тут вопрос не в кеширование map'а а в том, что вы используете
переменные установленные через set, которые кешируются и не
flush'аться.

Как workaround вам подойдет такой вот патч:

-------------- next part --------------
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;
-------------- next part --------------

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

-- 
wbr, Kirill


More information about the nginx-ru mailing list