Cache
Unter Cache versteht man einen schnellen Pufferspeicher, durch den ein Zugriff – erstmalig oder wiederholt – auf ein langsameres Hintergrundmedium verhindert werden soll. Einmal aufgerufene Elemente verbleiben im Cache, so dass sie schnell zur Verfügung stehen, wenn sie erneut benötigt werden. Bei Caches gibt es die Möglichkeit, sie sowohl als Software- als auch als Hardwarestruktur auszubilden, um Kopien zwischenzuspeichern.
Der Cache arbeitet im Verborgenen
Der Ursprung des WortesCaches ist im Französischen zu finden, wo das Wort „cache“ ein Versteck bezeichnet. Daraus lässt sich auch für den Cache in der Computersprache ableiten, dass er seine Arbeit nicht im Vordergrund leistet, sondern verdeckt im Hintergrund. Der Nutzer weiß nicht, dass er statt auf das Hintergrundmedium auf den Cache zugreift. Größe und Vorhandensein des Caches muss dem Nutzer nicht bekannt sein, da der Nutzer das Hintergrundmedium „anspricht“, seine „Antwort“ jedoch vom Cache statt vom Hintergrundmedium erhält. Diese Antwort fällt so aus, wie es vom Hintergrundmedium zu erwarten gewesen wäre, es werden also Daten gesendet oder freigegeben. Der Cache spiegelt das Hintergrundmedium bzw. dessen Ressourcen. Da dies im Hintergrund quasi unsichtbar stattfindet, spricht man von Transparenz.
Datenabgleich zwischen Cache und Hintergrundmedium
Wenn mehrere Geräte auf das Hintergrundmedium zugreifen, von denen nicht alle den Cache verwenden, kann es zu sogenannten Inkohärenzen kommen, bei denen logische Zusammenhänge bei der Speicherung verlorengehen. Damit das Datenabbild beim Zugriff auf das Hintergrundmedium mit dem des Caches identisch ist, ist es nötig, die Daten des Caches vorab mit denen des Hintergrundmediums abzugleichen. Auch muss der Cache im Zweifel angepasst werden, wenn die Daten des Hintergrundmediums geändert werden. Mit entsprechenden Cache-Strategien in Form von Algorithmen werden die Daten von Cache und Hintergrundmedium durch verschiedene Verfahren abgeglichen. Ist durch die Cache-Logik der automatische Abgleich nicht sichergestellt, kann es dazu kommen, dass im Hintergrundmedium vorgenommene Änderungen nicht erkannt werden. Ist sich der Anwender diesbezüglich nicht sicher, muss er manuell eine Datenaktualisierung veranlassen.
Verschiedene Arten von Caches
Man unterscheidet zwischen verschiedenen Arten von Caches. Neben Prozessor-Caches gibt es auch Laufwerk- und Software-Caches. Caches arbeiten häufig in mehreren Ebenen, bei aktuellen Computerprozessoren sind es in der Regel drei verschiedene, die unterschiedlich groß sind. Bei günstigeren Prozessoren wird häufig die dritte Ebene weggelassen, dafür der Speicher der zweiten Ebene erhöht. Die Caches sind entweder direkt in die Platinen von CPUs und Festplatten integriert oder extern gelagert. Software-Caches werden häufig als temporäre Dateien angelegt, wenn die Festplatte als schnelleres Speichermedium dient. Dazu gehört auch das bekannteste Beispiel des Caches, der Browser-Cache. Dieser speichert Internetseiten, um beim nächsten Zugriff die Daten von der Festplatte lesen zu können, anstatt sie erneut aus dem Internet herunterzuladen.