Definition: Zwischenspeicher für wiederholte Zugriffe

Was ist ein Cache?

| Autor / Redakteur: Stefan Luber / 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

Hadoop 3.1 in Azure HDInsight

Big Data aus der Microsoft-Cloud

Hadoop 3.1 in Azure HDInsight

Die bekannte Big-Data-Lösung Hadoop ist schon längere Zeit über den Dienst „HDInsight“ in Microsoft Azure integriert. Mittlerweile ist auch Version 3.1 verfügbar. lesen

Sicherheit hat bei AWS aktuell Vorrang

Interview mit Glenn Gore zu Development und Open Source

Sicherheit hat bei AWS aktuell Vorrang

Wie unterstützt AWS die Open-Source-Community und Entwickler im Allgemeinen? Welche Dienste, Tools und Blaupausen helfen bei Security-by-Design-Strategien? Diese Fragen beantwortet Glenn Gore, Lead Architect bei Amazon Web Services, im Interview mit unserem Autor Michael Matzer im Auftrag von Dev-Insider. lesen

So beschleunigen Unternehmen die Ladezeit ihrer Internetpräsenz

Website-Optimierung aus der Cloud

So beschleunigen Unternehmen die Ladezeit ihrer Internetpräsenz

Um Kunden und Suchmaschinen zufriedenzustellen, müssen Webseiten sowohl auf Desktop-PCs als auch auf mobilen Endgeräten schnell laden. Damit dies gelingt, bedarf es stetiger Optimierungen. Manuell sind diese sehr zeitintensiv, doch mit professionellen Lösungen in der Cloud lassen sich Performanceverbesserungen automatisieren. lesen

Das Cloud-Zeitalter fordert neue Dateisysteme

Anforderungskatalog File-System

Das Cloud-Zeitalter fordert neue Dateisysteme

Die Cloud - ob privat, hybrid oder öffentlich - ist inzwischen omnipräsent, ihre Nutzung für die meisten Unternehmen inzwischen eine Selbstverständlichkeit. Ebenso wie von jedem Standort - Hauptsitz, Niederlassung, Zweigstelle, Home Office oder mobil - auf geschäftsentscheidende und aufgabenrelevante Daten zugreifen zu können. In Anbetracht dessen, dass im selben Zuge sowohl die Zahl als auch Größe der Dateien beständig zunimmt und diese immer häufiger geografisch verteilt gespeichert werden, ändert sich auch die Rolle, die Dateisysteme übernehmen müssen. lesen

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

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)