Bitte wählen Sie:

Cache, Caching

Der Begriff Cache steht in Zusammenhang mit Server, Desktop-Computern, Softwareprodukten, aber auch Smartphones oder Tablets für einen Zwischenspeicher, der für einige Zeit bereits vorher verwendete oder abgerufene Daten bereithält. Der Vorgang, Daten in diesem Zwischenspeicher bereit zu halten, nennt man folglich auch Caching.

Leistungsgbeschleunigung und Ressourcenschonung

Sinn und Zweck eines Caches ist meistens die Leistungsbeschleunigung des Gesamtsystems. Der Abruf der angeforderten Daten aus dem Zwischenspeicher geht in der Regel viel schneller vonstatten als der neuerliche Abruf aus dem eigentlichen Archiv oder der Datenbank. Zudem werden Rechenressourcen geschont, weil unnötige aufwändigere wiederholte Datenbankzugriffe, die mehr Rechenkapazität beanspruchen würden, eingespart werden.

Versteckter Zwischenspeicher

Das Caching macht sich den Effekt zunutze, dass einige Informationen aus den verschiedensten Gründen viel häufiger abgerufen werden als andere. Daher ist es sinnvoll, solche Informationen so vorzuhalten, dass diese mit möglichst geringem Aufwand verfügbar sind. Dieser Zwischenspeicher ist im Normalfall für den Anwender unsichtbar. Der Anwender kann also nicht gezielt die Informationen aus dem Cache abrufen statt aus der originären Datenquelle. Er kann im Normalfall den Cache auch nicht umgehen. Der Cache ist ein versteckter Speicher, weswegen wahrscheinlich auch das französische Wort cacher (verstecken) zur Bezeichnung verwendet wurde.

Im einfachsten Fall wird beim Informationsabruf geprüft, ob die gefragte Information nicht schon im Cache vorhanden ist. Falls ja, wird die Information von dort aus bereitgestellt. Ist die Information nicht vorhanden, wird der eigentliche Speicherort abgefragt, die Information geliefert und die Information zusätzlich im Cache hinterlegt - vielleicht muss die Information ja bald nocheinmal abgerufen werden.

Caching im Web

Caching kommt bereits im Webbrowser zum Einsatz. Informationen, die bereits einmal vom User abgerufen wurden, werden für eine begrenzte Zeit zwischengespeichert. So können häufig verwendete Elemente wie Grafiken, CSS-Vorschriften oder auch ganze Webseiten aus dem lokalen Speicher geholt werden und müssen nicht neu vom Server geladen werden. Dieses Verfahren schont die Bandbreite und verbessert die User Experience, da die Seite schneller geladen wird.

Auch mit verschiedenen Content Management Systemen lassen sich Caches gezielt anlegen. Somit muss das CMS nicht stets erneut die Webseite generieren, was hauptsächlich Geschwindigkeitsvorteile bringt.

Inzwischen gibt es viele Content Delivery Networks, die im Prinzip Kopien der Originalinhalte vorhalten und diese Kopien an die anfragenden Clients ausliefern. Besonders bei Medieninhalten wie Video kommen die Vorteile zum Tragen. Auch Webseiten lassen sich über ein Content Delivery Netzwerk ausliefern, was unter Umständen zu einer besseren Nutzererfahrung führen kann, da die Website-Kopie schneller verfügbar ist als die Originalseite, besonders wenn der Server mit ursprünglichen Inhalten unter Last ist.

Kritische Faktoren Gültigkeit und Speichergröße

Ein kritischer Faktor beim Caching ist, dass sichergestellt werden muss, dass die Informationen im Zwischenspeicher noch gültig sind. Möglicherweise haben sich die Datenbankinhalte ja bereits geändert. So muss es Kontrollstrukturen geben, die Cache-Inhalte in ihrer Lebensdauer begrenzen oder der Cache in gewissen Zeitabständen erneuert wird.

Zum anderen kommen die Effekte eines Caches nur zur Geltung, wenn die Lieferung der Daten aus dem Cache schneller und einfacher ist als aus dem originären Speicherplatz. Zwischenspeicher gewinnen ihre Geschwindikeitsvorteile aus ihrer geringeren Komplexität: Sie sind kleiner und benötigen weniger Organisationsaufwand. Je größer Caches werden, desto mehr Organisationsaufwand zum Abrufen der Daten wäre aber nötig. Daher können Caches nicht beliebig groß sein.

Das hat zur Folge, dass Caches mit zunehmender Anzahl an Informationsabrufen gefüllt werden und irgendwann voll sind. Man benötigt also Strategien, um die im Cache vorzuhaltenden Inhalte zu priorisieren oder zumindest festzulegen, welche Informationen sinnvollerweise als erstes wieder verdrängt werden sollten.