Definition

Cache-Speicher

Was ist ein Cache-Speicher?

Ein Cache-Speicher – kurz Cache genannt – ist eine Hardware oder Software, die dazu dient, Daten vorübergehend in einer Computerumgebung zu speichern.

Es handelt sich dabei um einen kleinen Teil des schnelleren und teureren Memorys, das dazu dient, die Leistung von kürzlich oder häufig abgerufenen Daten zu verbessern. Zwischengespeicherte Daten (in Englisch: Cached Data) werden vorübergehend in einem zugänglichen Speichermedium abgelegt, das sich lokal auf dem Cache-Client befindet und vom Hauptspeicher (Main Memory) getrennt ist. Der Cache wird in der Regel von der CPU, Anwendungen, Webbrowsern und Betriebssystemen verwendet.

Cache wird verwendet, weil der Massenspeicher oder der Hauptspeicher nicht mit den Anforderungen der Clients Schritt halten kann. Cache verkürzt die Datenzugriffszeiten, verringert die Latenzzeit und verbessert den Input/Output (I/O). Da fast alle Anwendungs-Workloads von I/O-Operationen abhängen, verbessert der Caching-Prozess die Anwendungsleistung.

Wie funktioniert ein Cache?

Wenn ein Cache-Client versucht, auf Daten zuzugreifen, prüft er zunächst den Cache. Wenn die Daten dort gefunden werden, spricht man von einem Cache-Treffer. Der Prozentsatz der Versuche, die zu einem Cache-Treffer führen, wird als Cache-Trefferrate oder -Quote bezeichnet.

Angeforderte Daten, die nicht im Cache gefunden werden (Cache Miss), werden aus dem zentralen Memory geholt und in den Cache kopiert. Wie dies geschieht und welche Daten aus dem Cache verdrängt werden, um Platz für die neuen Daten zu schaffen, hängt vom verwendeten Cache-Algorithmus, den Cache-Protokollen und den Systemrichtlinien ab.

Abbildung 1: Aufbau des Cache Memory.
Abbildung 1: Aufbau des Cache Memory.

Webbrowser wie Safari, Firefox und Chrome verwenden Browser-Caching, um die Leistung von häufig aufgerufenen Webseiten zu verbessern. Wenn ein Benutzer eine Webseite besucht, werden die angeforderten Dateien in einem Cache für diesen Browser im Computerspeicher des Benutzers gespeichert.

Um eine zuvor aufgerufene Seite abzurufen, holt der Browser die meisten der benötigten Dateien aus dem Cache, anstatt sie erneut vom Webserver zu senden. Dieser Ansatz wird als Lese-Cache bezeichnet. Der Browser kann Daten schneller aus dem Browser-Cache lesen, als er die Dateien von der Webseite neu einlesen kann.

Der Cache ist aus mehreren Gründen wichtig:

  • Durch die Verwendung von Cache wird die Latenzzeit für aktive Daten verringert. Dies führt zu einer höheren Leistung eines Systems oder einer Anwendung.
  • I/O wird in den Cache umgeleitet, wodurch I/O-Vorgänge auf externen Speichern und den unteren Ebenen des SANs reduziert werden.
  • Daten können dauerhaft im herkömmlichen Speicher oder in externen Speicher-Arrays verbleiben. Dadurch wird die Konsistenz und Integrität der Daten mithilfe von Funktionen wie Snapshots und Replikation, die vom Storagebereitgestellt werden, aufrechterhalten.
  • Flash wird nur für den Teil der Arbeitslast verwendet, der von der geringeren Latenzzeit profitiert. Dies führt zu einer kosteneffizienten Nutzung von teurerem Speicher.

Der Cache-Speicher ist entweder in die CPU integriert oder in einen Chip auf der Systemplatine eingebettet. Bei neueren Rechnern ist die einzige Möglichkeit, den Cache-Speicher zu erhöhen, die Aufrüstung der Systemplatine und der CPU auf die neueste Generation. Ältere Systemplatinen verfügen möglicherweise über leere Steckplätze, die zur Erweiterung des Cache genutzt werden können.

Wie werden Cache-Speicher verwendet?

Caches werden zum Speichern temporärer Dateien verwendet, wobei Hardware- und Softwarekomponenten zum Einsatz kommen. Ein Beispiel für einen Hardware-Cache ist ein CPU-Cache. Dabei handelt es sich um einen kleinen Memory-Bereich auf dem Prozessor des Computers, in dem grundlegende Computeranweisungen gespeichert werden, die kürzlich verwendet wurden oder häufig verwendet werden.

Viele Anwendungen und Software haben auch ihren eigenen Cache. In diesem Cache werden anwendungsbezogene Daten, Dateien oder Anweisungen vorübergehend gespeichert, damit sie schnell abgerufen werden können.

Webbrowser sind ein gutes Beispiel für Anwendungs-Caching. Wie bereits erwähnt, verfügen Browser über einen eigenen Cache, in dem Informationen aus früheren Browsing-Sitzungen zur Verwendung in zukünftigen Sitzungen gespeichert werden. Ein Benutzer, der sich ein Youtube-Video erneut ansehen möchte, kann es schneller laden, da der Browser auf den Cache zugreift, in dem es in der vorherigen Sitzung gespeichert wurde.

Andere Arten von Software, die Caches verwenden, sind:

  • Betriebssysteme, in denen häufig verwendete Anweisungen und Dateien gespeichert werden;
  • Content-Delivery-Netze, in denen Informationen auf der Serverseite zwischengespeichert werden, um Websites schneller ausliefern zu können;
  • Domänennamensysteme, in denen Informationen zur Umwandlung von Domänennamen in Internetprotokolladressen gespeichert werden können;
  • Datenbanken, wo sie die Latenzzeit bei Datenbankabfragen verringern können.

Was sind die Vorteile von Caches?

Das Caching bietet mehrere Vorteile, darunter die folgenden:

  • Performance. Durch die Speicherung von Daten in einem Cache kann ein Computer schneller arbeiten. Ein Browser-Cache, der Dateien aus früheren Browsing-Sitzungen speichert, beschleunigt beispielsweise den Zugriff auf nachfolgende Sitzungen. Ein Datenbank-Cache beschleunigt den Abruf von Daten, deren Herunterladen sonst viel Zeit und Ressourcen in Anspruch nehmen würde.
  • Offline arbeiten. Mit Caches können Anwendungen auch ohne Internetverbindung funktionieren. Der Anwendungs-Cache bietet schnellen Zugriff auf Daten, auf die kürzlich zugegriffen wurde oder die häufig verwendet werden. Allerdings bietet der Cache nicht unbedingt Zugriff auf alle Anwendungsfunktionen.
  • Ressourceneffizienz. Neben Schnelligkeit und Flexibilität hilft das Caching physischen Geräten, Ressourcen zu sparen. So wird beispielsweise durch den schnellen Zugriff auf den Cache Batteriestrom gespart.

Was sind die Nachteile von Caches?

Es gibt einige Probleme mit Caches, darunter die folgenden:

  • Beschädigung. Caches können beschädigt werden, wodurch die gespeicherten Daten nicht mehr brauchbar sind. Beschädigte Daten können dazu führen, dass Anwendungen wie Browser abstürzen oder Daten falsch angezeigt werden.
  • Leistung. Caches sind in der Regel kleine temporäre Memory-Bereiche. Wenn sie zu groß werden, können sie zu Leistungseinbußen führen. Außerdem können sie Memory verbrauchen, den andere Anwendungen benötigen, was sich negativ auf die Anwendungsleistung auswirkt.
  • Veraltete Informationen. Manchmal zeigt ein App-Cache alte oder veraltete Informationen an. Dies kann dazu führen, dass eine Anwendung nicht richtig funktioniert oder irreführende Informationen zurückgibt. Wenn eine Website oder Anwendung im Internet aktualisiert wird, würde die Verwendung einer Cache-Version aus einer früheren Sitzung die Aktualisierung nicht widerspiegeln. Dies ist kein Problem für statische Inhalte, wohl aber für dynamische Inhalte, die sich während oder zwischen Sitzungen ändern.

Cache-Algorithmen

Anweisungen für die Cache-Verwaltung werden von Cache-Algorithmen geliefert. Einige Beispiele für Cache-Algorithmen sind die folgenden:

  • Least Frequently Used verfolgt, wie oft auf einen Cache-Eintrag zugegriffen wird. Das Element mit der niedrigsten Zugriffsnzahl wird zuerst entfernt.
  • Mit Least Recently Used werden die Elemente, auf die kürzlich zugegriffen wurde, an den Anfang des Caches gestellt. Wenn der Cache sein Limit erreicht, werden die am seltensten aufgerufene Einträge entfernt.
  • Bei Most Recently Used werden die am häufigsten aufgerufene Elemente zuerst entfernt. Dieser Ansatz ist am besten geeignet, wenn ältere Elemente mit größerer Wahrscheinlichkeit verwendet werden.

Cache-Richtlinien

Verschiedene Cache-Richtlinien bestimmen, wie der Cache arbeitet. Dazu gehören die folgenden:

  • Der Write-Around Cache schreibt Vorgänge in den Speicher und überspringt den Cache. Dadurch wird verhindert, dass der Cache überflutet wird, wenn es große Mengen an Schreib-I/O gibt. Der Nachteil dieses Ansatzes ist, dass die Daten erst dann in den Cache geschrieben werden, wenn sie aus dem Speicher gelesen werden. Dies hat zur Folge, dass der Lesevorgang langsamer ist, da die Daten nicht zwischengespeichert wurden.
  • Beim Write-Through Cache werden die Daten in den Cache und den Speicher geschrieben. Der Vorteil des Write-Through Cache ist, dass neu geschriebene Daten immer zwischengespeichert werden, so dass sie schnell gelesen werden können. Ein Nachteil ist, dass Schreibvorgänge erst dann als abgeschlossen gelten, wenn die Daten sowohl in den Cache als auch in den Speicher geschrieben wurden. Dadurch kann es bei Schreibvorgängen zu Latenzzeiten kommen.
  • Der Write-Back Cache ähnelt dem Write-Through Cache insofern, als alle Schreibvorgänge in den Cache geleitet werden. Beim Write-Back Cache wird der Schreibvorgang jedoch als abgeschlossen betrachtet, nachdem die Daten im Cache gespeichert wurden. Sobald dies der Fall ist, werden die Daten aus dem Cache in den Speicher kopiert.

Bei diesem Ansatz haben sowohl Lese- als auch Schreibvorgänge eine geringe Latenzzeit. Der Nachteil ist, dass die Daten je nach verwendetem Cache-Mechanismus bis zu ihrer Übertragung in den Speicher verlustanfällig bleiben.

Abbildung 2: Die unterschiedlichen Caching-Verfahren bieten verschiedene Vor- und Nachteile.
Abbildung 2: Die unterschiedlichen Caching-Verfahren bieten verschiedene Vor- und Nachteile.

Was bewirkt das Löschen eines Cache und wie oft sollte es durchgeführt werden?

Durch das Löschen des Cache wird Memory-Platz auf einem Gerät frei. Der Browser-Cache verwendet Memory, um Dateien zu speichern, die direkt aus dem Internet heruntergeladen wurden. Das Löschen des Cache kann Benutzerprobleme lösen, wie zum Beispiel die folgenden:

  • Ein voller Cache-Speicher kann dazu führen, dass Anwendungen abstürzen oder nicht richtig geladen werden.
  • Alte Caches können veraltete Informationen und Dateien enthalten, die dazu führen, dass Webseiten nicht oder nicht richtig geladen werden. Durch Löschen des Caches können veraltete Informationen entfernt werden.
  • Browser-Caches enthalten auch gespeicherte persönliche Informationen, wie zum Beispiel Kennwörter. Das Löschen dieser Daten kann den Benutzer schützen.
  • Die meisten Browser-Caches können in den Einstellungen gelöscht werden.

Ein Cache sollte regelmäßig geleert werden, aber nicht täglich. Wird der Cache zu oft geleert, ist dies aus den folgenden Gründen keine gute Nutzung der Ressourcen:

  • Der Benutzer verliert den Vorteil des schnellen Dateizugriffs.
  • Caches löschen einige Dateien von selbst und brauchen diese Art von Wartung nicht.
  • Der Computer speichert neue Dateien im Cache und füllt den Speicherplatz wieder auf.

Wie löscht man einen Cache?

Browser-Caches sind den meisten Endbenutzern bekannt. In den häufigsten Fällen werden sie über eine Registerkarte oder einen Menüpunkt in den Einstellungen geleert. Diese Funktionen enthalten auch Datenschutzeinstellungen, Cookiesund den Verlauf. Die Benutzer können die Einstellungen über diese Registerkarten oder Menüs löschen oder ändern.

Viele computergestützte Webbrowser verfügen über Tastenkombinationen, um diese Menüs schnell zu erreichen:

  • Auf Microsoft Windows-Rechnern drücken Sie Strg-Umschalt-Entf (Ctrl-Shift-Delete).
  • Auf Apple Macs drücken Sie Befehl-Umschalt-Entf (Command-Shift-Delete).

Diese Tastenkombinationen bringen den Benutzer zum Einstellungsmenü, das sich von Browser zu Browser leicht unterscheidet.

So löschen Sie den Cache in Google Chrome:

  • Drücken Sie die Tastenkombination Strg-Umschalt-Entf, wenn Sie einen Windows-Rechner verwenden, oder die Tastenkombination Befehl-Umschalt-Entf auf einem Mac.
  • Scrollen Sie zum Abschnitt Datenschutz und Sicherheit.
  • Wählen Sie Browsing-Daten löschen.
  • Wählen Sie einen Zeitraum aus dem Dropdown-Menü oder wählen Sie Gesamte Zeit (all time), um den gesamten Cache zu löschen.
  • Klicken Sie auf Bilder und Dateien im Cache (Cached images and files).
  • Klicken Sie auf Daten löschen (Clear data).

Arten von Cache-Speichern

Caching wird für viele Zwecke verwendet. Zu den verschiedenen Cache-Methoden gehören die folgenden:

Cache Memory ist RAM, auf den ein Mikroprozessor schneller zugreifen kann als auf normales RAM. Er ist oft direkt mit der CPU verbunden und wird zum Zwischenspeichern von Anweisungen verwendet, auf die häufig zugegriffen wird. Ein RAM-Cache ist schneller als ein plattenbasierter Cache, aber ein Cache Memory ist schneller als ein RAM-Cache, weil er sich in der Nähe der CPU befindet.

Abbildung 3: Informieren Sie sich über den Vergleich von RAM und Cache-Speicher in Bezug auf Nutzung, Geschwindigkeit, Kapazität und Kosten.
Abbildung 3: Informieren Sie sich über den Vergleich von RAM und Cache-Speicher in Bezug auf Nutzung, Geschwindigkeit, Kapazität und Kosten.

Ein Cache-Server, manchmal auch Proxy-Cache genannt, ist ein spezieller Netzwerkserver oder -dienst. Cache-Server speichern Webseiten oder andere Internetinhalte lokal.

CPU Cache ist ein Teil des Memorys, der sich auf der CPU befindet. Dieses Memory arbeitet mit der Geschwindigkeit der CPU und nicht mit der Geschwindigkeit des Systembusses und ist viel schneller als RAM.

Der Festplatten-Cache speichert kürzlich gelesene Daten und manchmal auch benachbarte Datenbereiche, auf die wahrscheinlich bald zugegriffen werden wird. Einige Festplatten-Caches speichern Daten in Abhängigkeit von der Häufigkeit des Lesens. Häufig gelesene Speicherblöcke werden als Hot Blocks bezeichnet und automatisch an den Cache gesendet.

Flash-Cache, auch bekannt als SSD-Caching, verwendet NAND-Flash-Speicherchips zur vorübergehenden Speicherung von Daten. Flash-Cache erfüllt Datenanforderungen schneller, als wenn sich der Cache auf einer herkömmlichen Festplatte oder einem Teil des Backing-Storage befindet.

Persistenter Cache ist ein Speicher, bei dem die Daten im Falle eines Systemneustarts oder -absturzes nicht verloren gehen. Zum Schutz der Daten wird ein Batterie-Backup verwendet, oder die Daten werden in einen batteriegepufferten DRAM gespült, um sie zusätzlich vor Datenverlust zu schützen.

Der RAM-Cache umfasst in der Regel ein auf der Hauptplatine eingebettetes permanentes Memory. Es kann ebenso Memory-Module enthalten, die in speziellen Steckplätzen oder Anschlüssen installiert werden. Der Zugriff auf dieses Memory erfolgt über den Mainboard-Bus. Der CPU-Cache ist 10 bis 100 Mal schneller als RAM und benötigt nur wenige Nanosekunden, um auf eine CPU-Anfrage zu reagieren. RAM-Cache hat eine schnellere Reaktionszeit als magnetische Medien, die I/Os mit Raten von Millisekunden liefern.

Translation Lookaside Buffer, auch TLB genannt, ist ein Cache, der die jüngsten Übersetzungen von virtuellem Memory in physische Adressen speichert und die Operationen im virtuellen Memory beschleunigt.

Abbildung 4: Die verschiedenen Memory-Typen unterscheiden sich in Bezug auf Größe und Geschwindigkeit.
Abbildung 4: Die verschiedenen Memory-Typen unterscheiden sich in Bezug auf Größe und Geschwindigkeit.

Diese Definition wurde zuletzt im Mai 2024 aktualisiert

Erfahren Sie mehr über Disk-Systeme