Zum Inhalt springen

Glossar · C

Caching

Speicherung von Daten, um den Zugriff auf häufig benötigte Informationen zu beschleunigen.

Definition

Caching bezeichnet in der Informatik die temporäre Speicherung von Daten, um den Zugriff auf häufig benötigte Informationen zu beschleunigen. Dabei werden Daten, die bereits einmal berechnet oder abgerufen wurden, in einem schnellen Zwischenspeicher abgelegt. Ziel ist es, die Antwortzeiten bei wiederholten Anfragen zu reduzieren und die Systemleistung zu verbessern.

Caches können auf verschiedenen Ebenen eines IT-Systems eingesetzt werden, beispielsweise im Arbeitsspeicher eines Computers, in Webbrowsern oder auf Servern. Die gespeicherten Daten sind in der Regel eine Kopie der Originaldaten und können bei Bedarf aktualisiert oder verworfen werden. Caching ist ein grundlegendes Konzept zur Optimierung von Datenzugriffen in Hard- und Software.

In Webanwendungen wird meist auf mehreren Ebenen zwischengespeichert: im Browser über HTTP-Header, in einem CDN, im Anwendungs-Cache etwa mit Redis und bei Datenbankabfragen. Jede Ebene braucht eine klare Regel, wann ihr Inhalt verfällt oder gezielt gelöscht wird, die sogenannte Invalidierung.

Was bedeutet das für Ihr Unternehmen?

Wird Ihre Website oder Anwendung bei vielen gleichzeitigen Besuchern langsam, ist ein gut eingestellter Cache oft der günstigste Hebel, noch vor einem größeren Server. Der typische Fehler liegt auf der anderen Seite: Inhalte werden zu lange zwischengespeichert, und Kunden sehen alte Preise, Lagerbestände oder Öffnungszeiten. Bei Seiten mit persönlichen Daten wie Warenkorb oder Kundenkonto muss außerdem sichergestellt sein, dass nichts davon für andere Besucher zwischengespeichert wird.

Hintergrund und Geschichte

Das Prinzip des Cachings stammt aus den frühen Tagen der Computertechnik und wurde entwickelt, um die Diskrepanz zwischen der Geschwindigkeit von Prozessoren und langsameren Speichermedien wie Festplatten zu überbrücken. Bereits in den 1960er Jahren wurden erste Caches in Prozessoren eingesetzt, um den Zugriff auf häufig verwendete Befehle und Daten zu beschleunigen.

Mit dem Aufkommen des Internets und verteilter Systeme erfuhr Caching eine weitere Verbreitung. Webbrowser und Webserver nutzen Caches, um Webseiten und Ressourcen lokal zu speichern und so Ladezeiten zu verkürzen. Im Laufe der Zeit entstanden spezialisierte Caching-Mechanismen für unterschiedliche Anwendungsbereiche, etwa Datenbank-Caches oder Content Delivery Networks (CDNs).

Funktionsweise

Ein Cache speichert Daten in einem schnellen Speicherbereich, der schneller zugänglich ist als der ursprüngliche Speicherort. Wenn eine Anwendung Daten benötigt, wird zuerst der Cache abgefragt. Sind die Daten dort vorhanden (Cache-Hit), können sie direkt verwendet werden, was die Zugriffszeit erheblich reduziert. Fehlen die Daten im Cache (Cache-Miss), müssen sie aus der langsameren Quelle geladen und anschließend im Cache abgelegt werden.

Caches arbeiten häufig mit Strategien zur Verwaltung der gespeicherten Daten, beispielsweise der Least Recently Used (LRU)-Algorithmus, der die am längsten nicht genutzten Daten zuerst entfernt. Zudem müssen Caches Mechanismen zur Konsistenz und Aktualität der Daten implementieren, um veraltete Informationen zu vermeiden. Die Größe und Organisation des Caches beeinflussen maßgeblich dessen Effizienz.

Einsatzgebiete

Caching wird in nahezu allen Bereichen der Informationstechnologie eingesetzt. Prozessoren verwenden Hardware-Caches, um den Zugriff auf Arbeitsspeicher zu beschleunigen. Betriebssysteme nutzen Dateisystem-Caches, um häufig verwendete Dateien schneller bereitzustellen. Im Webbereich speichern Browser und Server Inhalte, um die Ladezeiten von Webseiten zu reduzieren.

Darüber hinaus kommen Caches in Datenbanken zum Einsatz, um Abfragen zu beschleunigen, sowie in verteilten Systemen und Cloud-Infrastrukturen. Content Delivery Networks (CDNs) verwenden Caching, um Inhalte geografisch näher an den Nutzer zu bringen und so die Latenz zu verringern. Auch bei der Softwareentwicklung werden Caches genutzt, etwa bei der Zwischenspeicherung von Berechnungsergebnissen oder Konfigurationsdaten.

Abgrenzung zu verwandten Begriffen

Caching unterscheidet sich von der dauerhaften Datenspeicherung, da die gespeicherten Daten temporär und als Kopie vorliegen. Im Gegensatz zu Datenbanken oder Dateisystemen dienen Caches nicht der langfristigen Speicherung, sondern der schnellen Verfügbarkeit von Daten. Zudem ist die Konsistenz der Daten im Cache nicht immer garantiert, was zu veralteten Informationen führen kann.

Ein verwandter Begriff ist das Prefetching, bei dem Daten im Voraus geladen werden, bevor sie tatsächlich benötigt werden. Während Caching auf bereits angeforderte Daten reagiert, versucht Prefetching, zukünftige Zugriffe vorherzusagen. Außerdem unterscheidet sich Caching von der Replikation, bei der Daten dauerhaft auf mehreren Systemen synchron gehalten werden, um Ausfallsicherheit und Lastverteilung zu gewährleisten.

Verwandte Begriffe

Aus dem Blog

Passende Leistung

Sie möchten wissen, was das für Ihr Projekt bedeutet? Sprechen Sie uns an.

Zum Angebot: Performance-Audit Sprint