Добрый день.

Некий php-скрипт отдает в ответ на запрос время в секундах, оставшееся до
события. В связи с сотнями запросов в секунду к скрипту, возникла
необходимость кешировать ответ.

Создал кеш
proxy_cache_path /tmp/an_cache levels=1 keys_zone=pagecache:1m max_size=1m;

Прописал в location
     proxy_cache             pagecache;
     proxy_cache_valid       200 1s;
     proxy_ignore_headers Expires Cache-Control;
     if ($arg_callback) {
        set $callback callback;
     }
     proxy_cache_key $scheme$proxy_host$uri$arg_widget$callback;
     proxy_pass_header "X-Accel-Expires";

В скрипте указываю:
header("X-Accel-Expires: 1");

Однако при монотонном F5 страницы скрипта теперь счетчик тикает не каждую
секунду, как и должен был бы, а раз в 2. Я понимаю, что кеш не совпадает с
моментом перехода между секундами и привносит погрешность в рамках секунды,
однако, почему кешированная страница живет дольше указанной 1 секунды?
Хотелось бы это исправить.

Спасибо.
_______________________________________________
nginx-ru mailing list
[email protected]
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Ответить