Hauptunterschied: Ein Cache speichert Daten transparent, sodass zukünftige Anforderungen für diese Daten schneller bearbeitet werden können. Ein Puffer hingegen speichert vorübergehend Daten, während die Daten den Vorgang eines Wechsels von einem Ort zu einem anderen darstellen.
Es gibt zwei Haupttypen von Caches: Speicher-Caching und Datenträger-Caching. Beim Zwischenspeichern des Speichers handelt es sich um einen Teil des Hauptspeichers, während der Zwischenspeicher um einen Teil eines anderen separaten Speicherbereichs, beispielsweise einer Festplatte, geht. Caching ist das Speichern von Daten in einem Cache, um auf die Daten in der Zukunft schneller zugreifen zu können. Die Daten, die in einem Cache gespeichert werden, können Werte sein, die zuvor berechnet wurden, oder Duplikate von Originalwerten, die an anderer Stelle gespeichert werden. Wenn einige Daten angefordert werden, wird zunächst überprüft, ob der Cache diese Daten enthält. Die Daten können schneller aus dem Cache abgerufen werden als aus dem Ursprungsursprung.
Ein leicht zu verstehendes Beispiel für das Caching ist das Web-Caching. Ein Webcache ist ein Mechanismus zum temporären Speichern (Caching) von Webdokumenten wie HTML-Seiten und Bildern. Dies geschieht hauptsächlich, um die Bandbreitennutzung, die Serverlast und die wahrgenommene Verzögerung zu reduzieren. Wenn eine Webseite geladen wird, werden die Daten auf den Seiten zwischengespeichert. Daher ist das nächste Mal, wenn die Seite geladen wird, schneller, da bereits Daten vorhanden sind und nur die an der Seite vorgenommenen Änderungen geladen werden müssen, die wiederum für das nächste Mal zwischengespeichert werden. Der Cache-Link von Google in seinen Suchergebnissen bietet eine Möglichkeit, Informationen von kürzlich heruntergekommenen Websites abzurufen und Daten schneller abzurufen als durch Klicken auf den direkten Link.
Der Puffer befindet sich dagegen hauptsächlich im RAM und dient als Bereich, in dem die CPU Daten temporär speichern kann. Dieser Bereich wird hauptsächlich verwendet, wenn der Computer und die anderen Geräte unterschiedliche Verarbeitungsgeschwindigkeiten haben. Typischerweise werden die Daten in einem Puffer gespeichert, wenn sie von einem Eingabegerät (z. B. einer Maus) abgerufen werden oder kurz bevor sie an ein Ausgabegerät (z. B. Lautsprecher) gesendet werden. Der Puffer kann jedoch auch verwendet werden, wenn Daten zwischen Prozessen innerhalb eines Computers verschoben werden.
Der Computer schreibt also die Daten in einen Puffer, von dem aus das Gerät auf die Daten zugreifen kann, und zwar als eigene Geschwindigkeit. Auf diese Weise kann sich der Computer auf andere Dinge konzentrieren, nachdem er die Daten in den Puffer geschrieben hat. im Gegensatz dazu, sich ständig auf die Daten zu konzentrieren, bis das Gerät fertig ist.
Puffer können an einem festen Speicherplatz in Hardware implementiert werden oder durch Verwendung eines virtuellen Datenpuffers in Software, der auf einen Datenpuffer zeigt, die auf einem physischen Speichermedium gespeichert sind. Die Mehrzahl der Puffer wird in der Software verwendet. Diese Puffer verwenden normalerweise das schnellere RAM, um temporäre Daten zu speichern, da RAM eine viel schnellere Zugriffszeit als Festplattenlaufwerke bietet. Ein Puffer passt das Timing häufig an, indem ein Warteschlangen- oder FIFO-Algorithmus im Speicher implementiert wird. Daher schreibt es häufig Daten mit einer Rate in die Warteschlange und liest sie mit einer anderen Rate.
Puffer werden häufig auch mit E / A-Vorgängen an Hardware verwendet, z. B. Plattenlaufwerken, Senden oder Empfangen von Daten an ein Netzwerk oder aus einem Netzwerk oder Abspielen von Ton über einen Lautsprecher. Puffer werden für viele Zwecke verwendet, z. B. zum Verbinden zweier mit unterschiedlichen Raten arbeitender digitaler Schaltungen, die Daten für eine spätere Verwendung enthalten, wodurch Zeitsteuerungskorrekturen an einem Datenstrom vorgenommen werden können und binäre Datenbits in Gruppen gesammelt werden, die dann bearbeitet werden können als eine Einheit und Verzögern der Laufzeit eines Signals, damit andere Vorgänge stattfinden können.
Ein Puffer kann jedoch nicht verwendet werden, um Ihre Position sofort im Datenstrom zu verschieben, es sei denn, der neue Teil wurde bereits in den Puffer verschoben. Ähnlich wie das YouTube-Video, das nicht an einen Teil weitergeleitet werden kann, der nicht von der grauen Leiste verdeckt wird. Wenn Sie dies tun, wird der Puffer vom neuen Speicherort aus verschoben und neu gestartet.
Die Funktionen eines Cache und eines Puffers schließen sich jedoch nicht gegenseitig aus und werden häufig für eine optimale Leistung kombiniert.