У меня проблема в том, что один из моих пользователей делает вставку в мою базу данных mysql, но когда он переходит на другую страницу, чтобы перечислить эти вставки, он возвращает только старые данные, которые были там ранее. Он может видеть изменения только через несколько минут или даже часов.
Я прочитал, что если я добавлю случайное число в свой URL, я могу избежать кэширования, но все еще не работает.
Я пытался поставить эти заголовки на php.
header("Cache-Control: private, no-store, no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");
И я попробовал это тоже:
SELECT SQL_NO_CACHE...
Нет работы. Все еще не получают никаких видимых изменений.
Попробуйте использовать заголовки Expires в файле htaccess. Вам нужно будет попросить пользователя нажать Ctrl + F5 (принудительное обновление), чтобы он правильно вступил в силу;
<IfModule mod_expires.c>
ExpiresActive on
ExpiresByType text/html "access plus 0 seconds"</IfModule>
Это скажет браузеру не кэшировать текст и html внутри этого каталога и любых его подкаталогов (если не указано иное). У меня была похожая проблема, и я решил ее, когда понял, что мое кеширование влияет на обновление живых данных.
Других решений пока нет …