Caching ist ein breit genutzter Begriff für das Zwischenspeichern von Daten. Das cachen von Daten findet in vielen Bereichen der IT Anwendung. Oftmals kommt es dort zu Einsatz, wo es auf hohe Geschwindigkeiten ankommt. Und da Besucher von Websites nicht gern auf das Laden einzelner Seiten warten, ist es kein Wunder dass auch hier Caching eine große Rolle spielt.

Welche Arten von Caching gibt es?

Es gibt einige Caching-Methoden. Zu den im Internet meist verbreiteten gehören:

  • Browser-Caching
    Hierbei speichert der Browser des Besuchers einzelne Dateien wie HTML, CSS, JavaScript und Bilder der aufgerufenen Seite auf der Festplatte ab. Wenn der Besucher dann eine andere Seite öffnet, gleicht der Browser die Daten die heruntergeladen werden müssten mit den auf der Festplatte vorhandenen ab und lädt nur noch die fehlenden Dateien herunter.
  • Datenbank-Caching
    Um die Datenbank eines Servers zu beschleunigen werden die Antworten von häufig genutzten und rechenintensiven Anfragen zwischengespeichert.
  • HTTP-Caching / Page-Caching / Content Delivery Network (CDN)
    Da die meisten Websites heutzutage dynamisch und auf verschiedene Informationsquellen wie APIs oder extern gespeicherte Bilder angewiesen sind, würde eine langsame Verbindung zu einer Quelle die Auslieferung der gesamten Website verlangsamen. Um dem vorzubeugen, wird vom Server eine statische Version der Website erstellt und ausgeliefert. Eine noch weiter gehende Form dieser Methode ist das Content Delivery Network (Was ist ein CDN?).

Wie funktioniert Caching?

Daten die „gecached“ werden, profitieren von Hardware mit schnellen Zugriffszeiten als Speicherort. Dafür werden die Inhalte oftmals im Arbeitsspeicher (RAM) abgelegt, da dieser extrem kurze Latenzen für den Zugriff ermöglicht. Weil der Arbeitsspeicher aber oftmals über deutlich weniger Kapazität verfügt als reguläre Speichermedien wie HDDs und SSDs, wird in der Regel nur eine Teilmenge aller Daten, und dies auch nur vorübergehend, gespeichert. Software übernimmt hierbei die Entscheidung welche Daten wie lange zwischengespeichert werden und wann diese durch Andere ersetzt werden.

Welche Vorteile hat Caching?

  • Schneller
    Arbeitsspeicher ist um ein Vielfaches schneller als Festplattenspeicher. Daher sind Lesevorgänge im Sub-Millisekunden-Bereich möglich. Durch diesen deutlich schnelleren Datenzugriff erhöht sich die Gesamtleistung enorm.
  • Sinkende Serverauslastung und vermeiden von Ausfällen
    Durch das Vorschalten einer Statischen Version der Datenbank und gesamten Website muss der Server nun deutlich weniger Berechnungen durchführen. Dadurch wird bei Spitzenlasten unter Umständen sogar ein Ausfall vermieden.

TL;DR

Durch Caching werden Websites schneller ausgeliefert und Server entlastet, was zu einer besseren Benutzererfahrung und geringeren Kosten führt.