![]() | |||||||||||||
Navigation • Home
| Cache im Browser einfach erklärt
Ein Cache ist ein Vorrat an Kopien, der näher am Verbraucher liegt als das Original. Bevor ein Programm den langen Weg zum Original geht, sieht es in diesem Vorrat nach. Für Sie als Galeriebetreiber zählen drei solcher Vorräte. Am häufigsten begegnet Ihnen der Cache im Browser Ihrer Besucher, der Vorschaubilder und Stylesheet auf deren Gerät aufbewahrt. Auf Ihrem Webspace kommen der Zwischenspeicher für Datenbankabfragen und die verkleinerten Bildkopien hinzu, die das Galerie-Script einmal berechnet und dann aufbewahrt. Alle drei machen die Galerie schneller, und jeder kann erklären, warum eine Änderung auf Ihrem Bildschirm noch nicht zu sehen ist.
Das Prinzip: Treffer oder FehlgriffStellen Sie sich eine Werkstatt vor. Das Werkzeug lagert im Keller, die wichtigsten Teile liegen aber griffbereit auf der Werkbank. Findet der Handwerker den Schraubendreher auf der Bank, ist das ein Treffer, und er arbeitet sofort weiter. Liegt er dort nicht, ist das ein Fehlgriff: Er geht in den Keller, holt ihn und legt ihn danach auf die Bank, damit der nächste Griff schneller geht. Genau so arbeitet jeder Cache. Er ist klein und schnell, das Original ist groß und langsam, und gewonnen ist nur etwas, wenn die meisten Zugriffe Treffer sind. Deshalb gibt es Caches auf jeder Ebene eines Computers. Der Prozessor hält häufig gebrauchte Daten in einem eigenen kleinen Speicher, weil schon der Weg zum Arbeitsspeicher ein Vielfaches länger dauert. Das Betriebssystem behält zuletzt gelesene Dateien im Arbeitsspeicher. Webserver und PHP legen fertige Ergebnisse oder übersetzten Programmcode ab, große Websites verteilen Kopien ihrer Bilder über ein Content Delivery Network auf Server in der Nähe der Besucher, und der Browser speichert, was er schon einmal geladen hat. Jeder dieser Vorräte hat denselben Haken: Eine Kopie kann veraltet sein. Darum braucht jeder Cache eine Regel, wann er seiner Kopie nicht mehr traut, entweder eine Ablaufzeit oder ein Kennzeichen, das sich bei jeder Änderung ändert. Beide Regeln begegnen Ihnen in der Galerie wieder. Der Cache im Browser beim GaleriebesuchRechnen wir eine Kategorie mit 40 Fotos durch. Jedes Vorschaubild ist eine kleine JPEG-Datei, sagen wir rund 15 KB. Beim ersten Aufruf holt der Browser also etwa 600 KB Bilder plus Stylesheet und Seite. Beim zweiten Aufruf derselben Kategorie, eine Stunde später, sieht er in seinem Vorrat nach: Die 40 Vorschaubilder haben sich nicht verändert, ihre Adresse ist dieselbe, also nimmt er sie von der Platte. Übertragen wird praktisch nur noch das HTML. Auf dem Handy im Mobilfunknetz merkt man den Unterschied deutlich. Wie lange der Browser eine Datei behalten darf, sagt ihm der Webserver in den Kopfzeilen der Antwort, etwa mit Drei Zwischenspeicher bei einer eigenen GalerieWer bei einer selbst betriebenen Galerie von „dem Cache“ spricht, meint oft verschiedene Dinge. Einer der drei Vorräte liegt beim Besucher, zwei legt das Bildergalerie-Script auf Ihrem Webspace an. Es lohnt sich, sie auseinanderzuhalten, denn jeder erneuert sich auf eine andere Art.
Den mittleren Vorrat steuern Sie selbst. In der Verwaltung unter „Einstellungen“ steht im Abschnitt „Leistung“ das Feld „Zwischenspeicher für Datenbankabfragen“. Erlaubt sind 1 bis 86400 Sekunden, also höchstens ein Tag, und 0 schaltet ihn ganz ab. Die Galerie legt dort die Ergebnisse ihrer Abfragen ab, etwa die Liste der Kategorien und die Bilderanzahl je Kategorie. Bei einer kleinen Galerie mit wenigen Besuchern merken Sie kaum einen Unterschied. Bei vielen gleichzeitigen Aufrufen entlastet der Wert die Datenbank spürbar. Ein hoher Wert schadet der Aktualität nicht: Nach dem Hochladen, Löschen, dem FTP-Import und nach Änderungen an Beschreibungen, Kategorien oder Einstellungen leert die Verwaltung den Ordner selbst. Neue Bilder sind deshalb sofort sichtbar. Für die Bildkopien nutzt die Galerie das zweite Prinzip, das Kennzeichen. Vorschaubilder und Kopien für die große Ansicht tragen einen Zeitstempel in der Adresse, zum Beispiel Wie die drei Vorräte bei einem Aufruf zusammenspielen, zeigt das Diagramm in drei Durchgängen: beim ersten Besuch mit lauter Fehlgriffen, beim Wiederkommen mit Treffern im Ordner Wenn die Galerie nach einer Änderung Altes zeigtDie typischen Momente, in denen Betreiber an ihrer Galerie zweifeln, haben fast immer mit einem der drei Vorräte zu tun. Die Änderung ist gespeichert, sie kommt nur noch nicht beim Betrachter an:
Gehen Sie bei der Suche vom nächstliegenden Vorrat zum entferntesten. So wissen Sie nach wenigen Minuten, ob überhaupt ein Fehler vorliegt:
Zeigt auch das private Fenster noch den alten Stand und haben Sie nicht an der Datenbank gearbeitet, liegt die Ursache woanders. Prüfen Sie dann, ob die geänderte Datei wirklich im richtigen Ordner auf dem Webspace gelandet ist. Ein FTP-Programm, das in ein falsches Verzeichnis hochlädt, ist häufiger der Grund als jeder Cache. Den Cache im Browser leerenDas Neuladen mit Strg und F5 wirkt nur für die eine Seite. Hilft es nicht, oder sieht ein Besucher dauerhaft einen alten Stand, leert er den Cache im Browser ganz. Lesezeichen, gespeicherte Passwörter und Anmeldungen bleiben dabei erhalten, solange nur der Eintrag für zwischengespeicherte Dateien angehakt ist:
Beim Testen eigener Änderungen ist ein privates Fenster oft der schnellere Weg, denn es startet mit leerem Vorrat und vergisst ihn beim Schließen wieder. Den Ordner cache/ von Hand leerenNötig ist das nur, wenn Sie Kategorien oder Bilder an der Verwaltung vorbei geändert haben, meist direkt in phpMyAdmin. Dann zeigt die Galerie den alten Stand, bis die eingestellte Zeit abgelaufen ist. Wer nicht warten will, geht so vor:
Dateien mit Endungen wie Häufige FragenRund um den Cache verunsichert vor allem die Frage, ob man ihn gefahrlos leeren darf und wie man Änderungen trotz Zwischenspeicher sichtbar macht. Gehen beim Leeren des Cache im Browser Bilder verloren?Nein. Ihr Browser wirft nur seine eigenen Kopien weg. Die Fotos liegen weiter auf dem Webspace im Ordner Muss ich den Ordner cache/ regelmäßig aufräumen?Nein. Die Verwaltung leert ihn bei jeder Änderung, und abgelaufene Einträge ersetzt die Galerie beim nächsten Aufruf. Der Ordner wächst deshalb nicht unbegrenzt. Von Hand leeren müssen Sie ihn nur nach Änderungen direkt in der Datenbank. Warum sehe ich meine geänderte layout.css nicht?Ihr Browser verwendet noch die gespeicherte Fassung. Laden Sie mit Strg und F5 neu. Damit auch Stammbesucher die neue Datei bekommen, hängen Sie im Template an den Verweis eine Versionsnummer an, etwa Welchen Wert sollte ich für den Zwischenspeicher der Galerie einstellen?Der Standard von 350 Sekunden passt für fast jede Galerie. Bei sehr vielen Besuchern können Sie auf 3600 Sekunden gehen, denn neue Bilder erscheinen trotzdem sofort. Die 0 lohnt sich nur zum Testen, weil die Galerie dann bei jedem Aufruf die Datenbank fragt. Verwandte ThemenWie Zwischenspeicher und vorbereitete Bilder zusammen für eine schnelle Galerie sorgen, vertiefen diese Beiträge: | ||||||||||||