<div dir="ltr"><div><div><div>Добрый день.<br><br></div>Некий php-скрипт отдает в ответ
на запрос время в секундах, оставшееся до события. В связи с сотнями
запросов в секунду к скрипту, возникла необходимость кешировать ответ.<br><br></div><div>Создал кеш<br>proxy_cache_path /tmp/an_cache levels=1 keys_zone=pagecache:1m max_size=1m;<br><br></div><div>Прописал в location<br> proxy_cache pagecache;<br> proxy_cache_valid 200 1s;<br> proxy_ignore_headers Expires Cache-Control;<br> if ($arg_callback) {<br> set $callback callback;<br> }<br> proxy_cache_key $scheme$proxy_host$uri$arg_widget$callback;<br> proxy_pass_header "X-Accel-Expires";<br></div><div><br></div>В скрипте указываю:<br>header("X-Accel-Expires: 1");<br><br></div>Однако
при монотонном F5 страницы скрипта теперь счетчик тикает не каждую
секунду, как и должен был бы, а раз в 2. Я понимаю, что кеш не совпадает
с моментом перехода между секундами и привносит погрешность в рамках
секунды, однако, почему кешированная страница живет дольше указанной 1
секунды? Хотелось бы это исправить.<br><br>Спасибо.</div>