Ein Object Cache ist ein Zwischenspeicher für einzelne Abfrageergebnisse und Objekte, auf die eine Anwendung mehrfach zugreift. Jedes Ergebnis liegt dort unter einem Schlüssel im Arbeitsspeicher und wird beim nächsten Zugriff von dort geholt.
- Object Cache
Ein Zwischenspeicher für einzelne Abfrageergebnisse, auf die eine Anwendung mehrfach zugreift.
Beispiel: „Mit dem Object Cache fielen von 180 Abfragen je Seitenaufruf noch zwölf an.“Auch: Objektcache. Verbreitet sind Redis und Memcached; beide halten Schlüssel und Wert im Speicher und werden von außen angesprochen.
Abgrenzung zum Seitencache: Der hält die fertige Seite und greift nur bei Besuchern ohne Anmeldung. Der Object Cache hält Bausteine und wirkt auch dort, wo jede Seite anders aussieht.
Abgrenzung zum übersetzten Programmcode: Der gehört zu einem einzelnen Prozess auf einer Maschine. Ein Object Cache ist ein eigener Dienst und wird von mehreren Prozessen und mehreren Servern gemeinsam benutzt.
Wofür ein Object Cache gebraucht wird
Für die Fälle, in denen der Seitencache nichts ausrichtet. In einem Shop mit Warenkorb, einem Mitgliederbereich oder einem Portal mit Suche ist jede Seite anders, und trotzdem wiederholen sich darin dieselben Abfragen: Navigation, Einstellungen, Kategorien, Preise.
Das ist der Punkt, an dem eine Website gefühlt langsam wird, obwohl der Server Luft hat. Die Zahl der Abfragen je Aufruf steigt mit jedem Zusatzmodul, und ein Object Cache senkt sie, ohne dass jemand die Anwendung umbaut.
Was ein Object Cache voraussetzt
Einen Dienst, der mitläuft, und genug Arbeitsspeicher. Beides gibt es bei Shared Hosting selten; gewöhnlich beginnt es beim eigenen Server oder bei einem Angebot, in dem der Dienst mitgebucht wird.
Dazu gehört eine Obergrenze für den Speicher. Ist sie erreicht, werden die am längsten unbenutzten Einträge verdrängt, und das ist in Ordnung. Fehlt die Grenze, verdrängt der Object Cache irgendwann die Anwendung selbst.
Worauf bei einem Object Cache zu achten ist
Auf das Verfallen der Schlüssel. Ändert sich ein Preis, muss der Eintrag dazu verschwinden; bleibt er liegen, zeigt die Website geduldig den alten Wert. Gute Anbindungen erledigen das beim Speichern, und die Abnahme prüft genau diesen Weg.
Im Verbund mehrerer Server kommt hinzu, dass alle denselben Dienst benutzen müssen. Hält jede Maschine ihren eigenen Speicher, sehen zwei Besucher verschiedene Stände, siehe Cluster und Cloud Hosting.