2016-09-21 2 views
1

В одном из моих проектов я работаю над улучшением скорости страницы.Есть ли способ обновить кеш браузера, а не очистить его.?

Я использовал файл .htaccess, чтобы включить кеш браузера. Ниже приведен фрагмент кода.

# 1 YEAR = 29030400 
<FilesMatch "\.(ico|pdf|flv)$"> 
    Header set Cache-Control "max-age=29030400, public" 
</FilesMatch> 

# 1 WEEK = 604800 
<FilesMatch "\.(jpg|jpeg|png|gif|swf)$"> 
    Header set Cache-Control "max-age=604800, public" 
</FilesMatch> 

# 2 DAYS = 172800 
<FilesMatch "\.(xml|txt|css|js)$"> 
    Header set Cache-Control "max-age=172800, proxy-revalidate" 
</FilesMatch> 

# 1 MIN = 60 
<FilesMatch "\.(html|htm|php)$"> 
    Header set Cache-Control "max-age=60, private, proxy-revalidate, must-revalidate" 
    </FilesMatch> 

Проблема с этим кодом является кодом, когда все новые данные добавляются, что данные не отражаются на странице.

Есть ли способ обновить кеш, когда новые данные вставляются в БД.

+1

Нет, нет. Это противоречит идее кеша. Кэширование что-то означает, что вы сохраняете все усилия, чтобы проверить, изменились ли вещи на определенный период времени, полагая, что это нормально. Для этого используется управление кешем. Кэширование и проверка, если все изменилось, не имеет смысла. Это означало бы, что нужно было потратить все усилия. – arkascha

ответ

0

Один трюк заключается в добавлении параметра count к вашим URL-адресам, например.

http://mysite.mydomain.com/test.ico?count=1 

Параметр count будет игнорироваться веб-сервером, но он будет храниться в кеше браузера. Обновляйте значение счета, когда вы меняете изображение, и оно будет перезагружено. Вы даже можете использовать дату/временную метку (с датой создания файла) и автоматизировать все это.

 Смежные вопросы

  • Нет связанных вопросов^_^