Потепление лака кеша включая изображения?
Страницы генерируются динамически, а потому что сейчас мне нужно PHPSESSID
вся страница не может быть кэширована. Но, по крайней мере, я хотел бы кэшировать весь статический контент, включая изображения, которые включены в страницы двумя способами:
src="http://www.example.com/image.php?height=70&width=70&image=/ads/thumb/68370.jpg"
а также в обычном порядке
src="http://www.example.com/uploads/user/thumb/8705.jpg
В конфигурационном файле Varnish образы вроде jpg, png
а также 'image.php'
URL установлены для кэширования.
Когда страница открывается в браузере дважды, Varnish работает нормально, jpgs, pngs
а также image.php
возраст> 0.
Теперь, когда я запускаю скрипт для разогрева кеша лака, а затем впервые открываю любую страницу в браузере, все jpgs, pngs
а также image.php
возраст всегда = 0
Скрипт для разогрева кеша:
wget --quiet -U Firefox http://$URL/$sitemap_file --no-cache --header='Cache- Control: no-cache' --output-document - | egrep -o "http(s?)://$URL[^ \"\'()\<>]+ " | while read line; do
if [[ $line == *.xml ]]
then
newURL=$line
wget --quiet -U Firefox $newURL --no-cache --header='Cache-Control: n o-cache' --output-document - | egrep -o "http(s?)://$URL[^ \"\'()\<>]+" | while read newline; do
time curl -A 'Cache Warmer' -sL -w "%{http_code} %{url_effective}\ n" $newline -o /dev/null 2>&1
echo $newline
done
else
time curl -A 'Cache Warmer' -sL -w "%{http_code} %{url_effective}\n" $line -o /dev/null 2>&1
echo $line
fi
done
Там нет проблем с другими статическими файлами, такими как css
или же js
поскольку они являются общими для всех страниц, и любая страница может загрузить их в кэш, но изображения для каждой страницы различны.
Итак, возможно ли кэшировать изображения из скрипта прогрева?
Спасибо за любые намеки Дерек
1 ответ
По умолчанию Varnish будет хэшировать полный URL-адрес (включая параметры запроса) при кэшировании объекта.
Может быть, URL-адреса в вашем сценарии разминки имеют разные параметры запроса, чем URL-адрес, который вы позже вводите в браузер?