Минимальное время кеширования
Евгений Удовихин
eudovihin at gmail.com
Fri Oct 3 16:51:51 UTC 2014
Добрый день.
Некий 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 секунды?
Хотелось бы это исправить.
Спасибо.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.nginx.org/pipermail/nginx-ru/attachments/20141004/7c70aeff/attachment.html>
Подробная информация о списке рассылки nginx-ru