Der Cache ist eine Art Puffer
Um Inhalte, die bereits mindestens einmal vorlagen, schneller für den nächsten Zugriff zur Verfügung zu stellen, verwendet man einen Cache. Dabei handelt es sich um einen Puffer-Speicher, in dem die entsprechenden Inhalte zwischengespeichert werden.
In der EDV gibt es immer wieder Inhalte, die mehr als einmal aufgerufen werden. Um einen deutlich schnelleren Zugriff auf diese Inhalte zu bekommen, wird ein Puffer-Speicher eingesetzt. In diesem Cache, so lautet die Bezeichnung für diese Art von Speicher, können die Inhalte beziehungsweise die jeweiligen Kopien zwischengespeichert werden. Die Ausbildung des Caches kann als Soft- oder Hardwarestruktur erfolgen. Der Begriff stammt ursprünglich aus dem englischen beziehungsweise aus dem französischen Sprachgebrauch. Er wird käsch ausgesprochen und bedeutet übersetzt so viel wie geheimes Lager. Das französische Wort cacher wird mit verbergen übersetzt. Anhand der Bezeichnung und der Übersetzung des Original-Begriffes kann durchaus ersehen werden, dass ein Cache seine Arbeit nicht offensichtlich ausführt, die Wirkungsweise ist auf Hintergrundtätigkeiten beschränkt. Dennoch führen genau diese Arbeiten dazu, dass der User einen schnelleren Zugriff beispielsweise auf eine Webseite erhält. Die Größe eines Caches spielt für einen Programmierer eine eher untergeordnete Rolle, da er nicht direkt angesprochen wird. Er ist eine Ressource, die gespiegelt ist. Stellvertretend für die originalen Dokumente oder Dateien können die Informationen, die dort abgelegt sind, bearbeitet werden. Es ist durchaus möglich, dass mehrere Geräte auf das gleiche Speicherabbild zugreifen. Damit allen Beteiligten die gleichen Informationen zur Verfügung stehen, sollten Cache-Änderungen in den Hauptspeicher übernommen werden. Werden Caches eingesetzt, ist es das Ziel, die Zeiten, die für den Zugriff benötigt werden, so weit wie möglich zu verringern. Es kann aber auch darauf hingearbeitet werden, die Zugriffs-Anzahl auf den zu cachenden Speicher zu verringern. Voraussetzung für einen lohnenden Einsatz eines Caches sind die Orte, an denen ein entsprechender Einfluss auf die gesamte Leistung zu erwarten ist. Bei einem Vektorrechner spielt die Zugriffszeit eine untergeordnete Rolle, hingegen wird diesem Faktor bei vielen skalaren Mikroprozessoren deutlich höhere Bedeutung beigemessen. Der Einsatz von Caches bringt aber noch weitere Veränderungen mit sich, deren Bedeutung für den User weitaus höher ist. Die Speichermedien sind in verschiedene Ebenen und Hierarchien unterteilt. Ein Cache ist in der Lage, einen großen Teil der Anfragen, die an den Speicher gestellt werden, bereits direkt zu beantworten. Auch hier ist ein Absinken der Zugriffe auf den zu cachenden Speicher zu beobachten, gleiches gilt für die Bandbreitenanforderung. Ohne die Verwendung eines Caches würde das für einen hochmodernen Mikroprozessor bedeuten, dass er entsprechend ausgebremst werden würde, selbst wenn die Zugriffszeiten unendlich klein ausgelegt wären. Wäre kein solcher Puffer oder Zwischenspeicher vorhanden, würde die Anzahl der Zugriffe auf den Hauptspeicher sprunghaft ansteigen, die Speicherbandbreite würde für diese zahlreichen Anfragen nicht ausreichen. Es gibt zahlreiche Möglichkeiten, mit Caches die Zugriffszeiten bedeutend zu verringern, sowohl im Bereich der Soft- als auch der Hardware. Heute ist der Cache zu einem unverzichtbaren Teil in der Computerindustrie geworden.