Definition: Zwischenspeicher für wiederholte Zugriffe

Was ist ein Cache?

| Autor / Redakteur: tutanch / Florian Karlstetter

Cache - Zwischenspeicher zur Optimierung von Hardware- oder Software-Zugriffszeiten
Cache - Zwischenspeicher zur Optimierung von Hardware- oder Software-Zugriffszeiten (Bild: gemeinfrei (geralt / pixabay) / CC0)

Bei einem Cache handelt es sich um einen Zwischenspeicher, der per Hard- oder Software realisiert sein kann. Mit dem Cache lassen sich die Zugriffszeiten verkürzen. Ein Cache kann beispielsweise für Prozessoren, Festplattenspeicher oder Anwendungen wie den Webbrowser oder eine Datenbank zum Einsatz kommen.

Der Begriff Cache kommt aus dem Französischen und bedeutet im eigentlichen Sinn "Versteck". Es handelt sich bei einem Cache im IT-Umfeld um einen schnellen Pufferspeicher, der wiederholte Zugriffe auf Daten beschleunigen soll. Hierzu werden die häufiger benötigten Daten von einem langsameren Medium in den Zwischenspeicher geladen und dort für die weitere Verarbeitung bereitgehalten. Immer, wenn eine Anwendung oder ein Prozess auf die Daten Zugreifen muss, bedienen sie sich direkt aus dem Cache.

Ein Cache lässt sich sowohl in Software als auch in Hardware realisieren. Für den Anwender bleibt die Verwendung des Caches in der Regel verborgen. Er ist für ihn transparent. Der Cache stellt eine Art gespiegelte Ressource dar. Damit es nicht zu Inkonsistenzen und verschiedenen Datenständen zwischen dem eigentlichen Speicher und dem Pufferspeicher kommt, sind Cache und Hintergrundspeicher über verschiedene Methoden zu synchronisieren oder zu aktualisieren. Es kommen unterschiedliche Cache-Strategien zum Einsatz. Einige Anwendungen erfordern bei Inkonsistenzen eine explizite Cache-Aktualisierung durch den Benutzer. Die Größe des Caches ist wesentlich geringer als die Speichergröße des eigentlichen Hintergrundspeichers.

Der Zweck eines Caches

Ein Cache verfolgt zwei primäre Ziele. Zum einen sollen die Zugriffszeiten verkürzt und zum anderen die Anzahl der Zugriffe auf den Hintergrundspeicher verringert werden. Nur wenn der Cache die gewünschten Daten wesentlich schneller als der eigentliche Speicher liefern kann, macht sein Einsatz Sinn. Dank dem Cache muss weniger Aufwand in eine schnelle Anbindung des Hintergrundspeichers investiert werden. Es lassen sich für diesen Speicher günstigere Techniken verwenden. Nur der Cache selbst benötigt die schnelle Speichertechnik. Da der Cache jedoch wesentlich weniger Speicherplatz bereitstellen muss, reduzieren sich die Gesamtkosten für das System.

Die Ausführungsgeschwindigkeit von Programmen steigert sich, da die Anwendungen, Prozesse oder Prozessoren kürzer auf die benötigten Daten warten müssen und durch den langsamen Hintergrundspeicher nicht ausgebremst sind. Damit ein Cache effizient arbeiten kann und die Zugriffszeiten tatsächlich verkürzt, ist es von zentraler Bedeutung, dass er die aktuell gerade benötigten Daten tatsächlich bereithält. Sind diese Daten nicht im Cache gespeichert und müssen erst vom Hintergrundspeicher geladen werden, ergibt sich sogar ein Geschwindigkeitsverlust. Die Verwaltung des Caches übernimmt ein spezielles Programm oder das Betriebssystem. Intelligente Algorithmen sorgen dafür, dass die häufig benötigten Daten im Zwischenspeicher vorgehalten und seltener benötigte Daten gelöscht werden.

Unterscheidung zwischen Hardware- und Software-Cache

Ein Cache kann als Hardware oder als Software realisiert sein. Ein Hardware-Cache befindet sich immer zwischen dem verarbeitenden Prozessor und dem Hintergrundspeicher. Er muss direkt vom Prozessor ansprechbar sein und kürzere Zugriffszeiten bieten als der Hintergrundspeicher.

Der Software-Cache ist nach dem gleichen Grundprinzip programmiert. Daten werden in kleinen, besonders schnellen Anwendungsbereichen vorgehalten und anderen Anwendungsteilen mit kürzeren Zugriffszeiten bereitgestellt. Der Software-Cache bedient sich aus langsameren Teilprozessen einer Software wie beispielsweise Ergebnisse aufwendiger Berechnungen oder komplexer Datenbankabfragen. Hat der Teilprozess ein Ergebnis geliefert, wandert es in den Cache und ist dort von der Anwendung nutzbar. Erst wenn die Teilprozesse neue Ergebnisse bereitstellen, ist der Cache zu aktualisieren. Für die Funktion der Anwendung ist es wichtig, die Ergebnisse im Cache regelmäßig zu aktualisieren und sie gültig zu halten.

Beispiele für die Verwendung eines Caches

Der Cache findet in verschiedenen Anwendungen und Hardwareumgebungen Verwendung. Im Folgenden einige wichtige Beispiele für den Einsatz des Caches im IT-Umfeld.

Der Prozessor-Cache

Der Prozessor-Cache liegt zwischen dem Prozessor und dem Arbeitsspeicher und ist ein besonders schneller Pufferspeicher. Er lädt Daten vom Arbeitsspeicher und stellt sie dem Prozessor zur Verfügung, damit dieser nicht für jeden Befehl auf den langsameren Arbeitsspeicher zugreifen muss. In der Regel kommen für Prozessoren mehrstufige Caches zum Einsatz, die jeweils unterschiedlich schnell und groß sind.

Man spricht in diesem Zusammenhang von L1- (Level 1), L2- (Level 2) und L3-Cache (Level 3). Je näher sich der Pufferspeicher am Prozessor befindet, desto schneller arbeitet er und desto kleiner ist er. Auch die Taktung der L1-, L2- und L3-Caches ist unterschiedlich. Am schnellsten ist der Cache direkt am Prozessor getaktet, am langsamsten der entfernteste Cache. In aktuellen Prozessoren sind die verschiedenen Caches direkt integriert. Ein Cache als eigener Chip auf dem Mainboard ist heute eher unüblich.

Der Festplatten-Cache

Auch Festplatten arbeiten häufig mit einem Cache. Entweder ist er direkt in der Festplatte integriert oder auf dem Festplattencontroller installiert. Je nach Größe der Festplatte und dem Verwendungszweck der Festplatte variiert die Größe des Caches. Häufig von einer Festplatte abgerufene Daten sind im Cache zwischengespeichert und stehen von dort aus dem Rechner zur Verfügung. Die statistische Gesamtzugriffsgeschwindigkeit auf die Daten der Festplatte lässt sich mit einem Cache erheblich beschleunigen. Sehr sinnvoll sind Pufferspeicher auch bei optischen Laufwerken. Diese besitzen oft extrem hohe Zugriffszeiten. Der Cache reduziert nicht nur die Zugriffszeit, sondern gleicht auch Schwankungen im Datenstrom aus.

Der Webbrowser-Cache

Beim Webbrowser-Cache handelt es sich um einen Software-Cache. Bereits von einem Webserver abgerufene Daten wie Seitentexte, Bilder oder Videos speichert der Browser als lokale Kopie auf dem Rechner ab. Soll der Browser die Daten erneut darstellen, fordert er sie nicht mehr vom entfernten Webbrowser an, sondern bedient sich direkt aus dem lokalen Cache. Die Ladegeschwindigkeit der Internetseiten steigt und der Internetanschluss ist weniger belastet. Das spart Bandbreite im Netz und Ressourcen auf dem Webserver.

Wurde eine Seite aktualisiert und haben sich die Inhalte verändert, kann der Browser-Cache unter ungünstigen Umständen dafür sorgen, dass veraltetet Inhalte dargestellt werden. Um dies zu verhindern, lassen sich verschiedene Methoden verwenden. Häufig aktualisierte Inhalte können so markiert sein, dass sie nicht im Cache gespeichert, sondern immer vom Webserver geladen werden. Daten können auch mit einer Art Verfallsdatum versehen werden, nach dessen Erreichen sie automatisch aus dem Cache gelöscht und neu vom Server geladen werden müssen. Auch heuristische Schätzungen mit intelligenten Algorithmen kommen für die Cacheverwaltung zum Einsatz. Bei Bedarf kann der Anwender den Cache per Browsereinstellung manuell löschen.

Kommentare werden geladen....

Kommentar zu diesem Artikel abgeben

Der Kommentar wird durch einen Redakteur geprüft und in Kürze freigeschaltet.

Anonym mitdiskutieren oder einloggen Anmelden

Avatar
Zur Wahrung unserer Interessen speichern wir zusätzlich zu den o.g. Informationen die IP-Adresse. Dies dient ausschließlich dem Zweck, dass Sie als Urheber des Kommentars identifiziert werden können. Rechtliche Grundlage ist die Wahrung berechtigter Interessen gem. Art 6 Abs 1 lit. f) DSGVO.
  1. Avatar
    Avatar
    Bearbeitet von am
    Bearbeitet von am
    1. Avatar
      Avatar
      Bearbeitet von am
      Bearbeitet von am

Kommentare werden geladen....

Kommentar melden

Melden Sie diesen Kommentar, wenn dieser nicht den Richtlinien entspricht.

Kommentar Freigeben

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

Freigabe entfernen

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

Aktuelle Beiträge zu diesem Thema

Rubrik Andes 5.0 erweitert Data Management

Credits für Azure, Unterstützung für NoSQL und SAP HANA

Rubrik Andes 5.0 erweitert Data Management

Mit Andes 5.0 verspricht Rubrik sein bislang umfangreichstes Release. Die Plattform für Cloud Data Management unterstützt SAP HANA, Oracle- und NoSQL-Datenbanken sowie Office 365. Mit dem Accelerator for Microsoft Azure gibt es zudem Credits zur freien Nutzung von Azure und CloudOn. lesen

Dropbox bändigt SMR-Laufwerke

Magic Pocket wird auf Shingled Magnetic Recording umgestellt

Dropbox bändigt SMR-Laufwerke

Wenn Otto Normalnutzer mehr Speicherplatz braucht, tauscht er einfach die Festplatte – wenn Dropbox zusätzliche Kapazitäten benötigt, überarbeitet der Cloudstorage-Anbieter schon einmal seinen kompletten „Magic Pocket“-Stack bis hinunter zur Firmwareebene. lesen

SAP-Systeme aus der Open Telekom Cloud

Support-Ende und SAP-HANA-Umstieg

SAP-Systeme aus der Open Telekom Cloud

Umsatz voraus: Vom Support-Ende der klassischen SAP Business Suite und den zahlreichen anstehenden Migrationsprojekten nach SAP HANA, will auch die Deutsche Telekom ­profitieren. Sie liefert SAP-Systeme aus dem Ethernet-Kabel, wenn man so will. lesen

Files direkt auf Objektspeicher bearbeiten

LucidLink - Stream directly from the Cloud

Files direkt auf Objektspeicher bearbeiten

Das US-Startupunternehmen LucidLink hat eine Möglichkeit gefunden, Daten direkt auf Public-Cloud-Objektspeichern zu bearbeiten. Das mühselige Herunter- und wieder Hochladen von Files bei jedem Bearbeitungsschritt hätte damit ein Ende. lesen

NoSQL-Datenbanken im Vergleich

NoSQL

NoSQL-Datenbanken im Vergleich

NoSQL-Datenbanken wurden aus der Notwendigkeit heraus entwickelt, große, unterschiedliche Mengen von Dimensionen wie Raum, Zeit und Lokation auf möglichst effiziente Weise zu speichern und zu verarbeiten. Mittlerweile sind sie die unabdingbare Alternative zu relationalen SQL-basierten Datenbanken. Doch nicht jede NoSQL-Datenbank eignet sich für jeden Zweck. Tatsächlich sind die meisten sogar recht spezialisiert. lesen

DynamoDB beschleunigen und verschlüsseln

NoSQL-Implementierung von Amazon

DynamoDB beschleunigen und verschlüsseln

„Wir würden gerne Amazon DynamoDB nutzen, um eine vollständig verwaltete NoSQL-Implementierung nutzen zu können. Welche Empfehlungen und Entwurfsmuster existieren für Amazon DynamoDB?“ lesen

Was ist eine REST API?

Definition: Representational State Transfer (REST) Application Programming Interface (API)

Was ist eine REST API?

REST steht für REpresentational State Transfer, API für Application Programming Interface. Gemeint ist damit ein Programmierschnittstelle, die sich an den Paradigmen und Verhalten des World Wide Web (WWW) orientiert und einen Ansatz für die Kommunikation zwischen Client und Server in Netzwerken beschreibt. lesen

Blue/Green-Deployment in AWS

Einführung in Continuous Deployment, Teil 2

Blue/Green-Deployment in AWS

Blue/Green-Deployments sind eine spannende Strategie zur Realisierung von Continuous Delivery. In der Public Cloud mit Amazon Web Services, kurz AWS, lassen sie sich sogar mit vertretbarem Aufwand umsetzen. Was aber theoretisch ganz nett klingt, wirft in der Praxis dann doch häufig Fragen auf. lesen

Von KI bis Hardware by Code - Amazon Web Services stellt Neuheiten vor

AWS re:Invent 2016

Von KI bis Hardware by Code - Amazon Web Services stellt Neuheiten vor

Amazon Web Services (AWS) hat am Mittwoch der vergangenen Woche auf seiner fünften Entwicklerkonferenz „AWS re:Invent“ in Las Vegas den 32.000 Teilnehmern eine Reihe neuer Dienste und Funktionen präsentiert. Hier sind die wichtigsten Neuerungen, wie programmierbare Hardware für FPGAs und ein „Snowmobile“ für den Datentransfer auf einen Blick. lesen

copyright

Dieser Beitrag ist urheberrechtlich geschützt. Sie wollen ihn für Ihre Zwecke verwenden? Infos finden Sie unter www.mycontentfactory.de (ID: 45244286 / Definitionen)