2016-07-02 7 views
0

Seiten werden dynamisch generiert, und weil ich jetzt PHPSESSID brauche, kann die gesamte Seite nicht zwischengespeichert werden. Aber zumindest würde Ich mag alle statischen Inhalte, einschließlich der Bilder cachen, die in Seiten auf zwei Arten enthalten sind:wärmender Lack-Cache mit Bildern?

src="http://www.example.com/image.php?height=70&width=70&image=/ads/thumb/68370.jpg" 

sowie in einer regelmäßigen Art und Weise

src="http://www.example.com/uploads/user/thumb/8705.jpg 

In Varnish Configakte Bilder wie jpg, png und 'image.php' URL sind so eingestellt, dass sie zwischengespeichert werden.

Wenn Seite ist zweimal im Browser geöffnet, Lack scheint gut zu funktionieren, jpgs, pngs und image.php Alter> 0

Nun, wenn ich ein Skript ausführen Lack-Cache, um sich aufzuwärmen, und öffnen Sie dann eine beliebige Seite im Browser zum ersten Mal, alle jpgs, pngs und image.php Alter ist immer = 0

Script Cache aufwärmen:

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 

Es gibt kein Problem mit anderen statischen Dateien wie css oder js, wie sie für alle Seiten üblich sind, und jede Seite kann sie in den Cache laden, aber die Bilder sind für jede Seite unterschiedlich.

Also, ist es möglich, Bilder von wärmenden Skript zu cachen?

Vielen Dank für Hinweise Derek

Antwort

0

Varnish standardmäßig auf die vollständige URL (einschließlich Abfrage params) Hash wird, wenn ein Objekt-Caching.

Haben die URLs in Ihrem Aufwärmskript möglicherweise andere Abfrageparameter als die URL, die Sie später in den Browser eingeben?