Gibt es nur Cache im Internet, oder auch woanders?

7 Antworten

Caches werden an unterschiedlichen Stellen genutzt. Also ja.

Wenn du Werte berechnest, und das dauert lange, kann es sich auch lohnen einen Cache zu nutzen, nur um ein Beispiel zu nennen wo Netzwerk vielleicht gar keine Rolle spielt.

Daten werden auch teilweise im Arbeitsspeicher gecached statt sie von der Festplatte zu laden, Prozessoren selber haben auch caches um andere Beispiele zu nennen.


manfredalbach 
Beitragsersteller
 28.03.2025, 14:52

Das verstehe ich nicht ganz. Mal angenommen, eine Festplatte hat 1TB und der Arbeitsspeicher 16GB. Und wenn jetzt die Daten 30 GB gross sind, wie sollen die dann auf dem Arbeitsspeicher gespeichert werden?

chillipalmer89  28.03.2025, 15:16
@manfredalbach

Deshalb ja auch nur "teilweise". Der gesamte Arbeitsspeicher wurde übrigens nur für den Zweck des "Cachens" erfunden, da tausendmal schneller als Festplatten.

TheStalker64  28.03.2025, 15:16
@manfredalbach

Gibt paging, wo immer das relevante in den Arbeitsspeicher geladen wird.

Aber was meinst du mit "Daten"? Eine Datei wird idr. Nie komplett in den Arbeitsspeicher geladen. I'm Arbeitsspeicher ist Programmcode und deren "variablen"(runtergebrochen)

Dein Programm kann nun natürlich eine 30gb Datei einfach komplett in eine "variable" laden, aber dann klappt das system wahrscheinlich zusammen.

Mit Cache hat das nichts zu tun. Cache ist ein Zusatzspeicher (Bereich) der manchmal genutzt wird um erneutes laden/berechnen zu verhindern.

In Hardware hat bspw. Die CPU einen Cache um z.b. eine Kette von Daten nicht nacheinander zu laden aus dem Arbeitsspeicher, was langsam wäre, sondern es wird einmal die komplette Kette in den Arbeitsspeicher geladen und da der Cache ultra schnell ist geht alles viel schneller.

Programme/Betriebssysteme haben auch Caches. Dort wird einfach vermeintlich wichtiges im Arbeitsspeicher behalten

Oder Dateien, die schon vor gerechnet Daten haben

Nolaxen  28.03.2025, 15:38
@manfredalbach

Der Arbeitsspeicher ist nicht für das Lesen und Schreiben von größeren Datensätzen geeignet, dafür gibt es gewisse Mechanismen im Dateisystem, die mir leider nicht bekannt sind. Müsstest du recherchieren. D.h. der Arbeitsspeicher sollte da weniger beteiligt sein. (alle Angaben ohne Gewähr)

Arbeitsspeicher ist eher für das Laufen von Programmen zuständig meine ich, d.h. wenn du beispielsweise Spiele ausführst, werden dort wichtige Daten des Clients gespeichert.

Während z.B. grafische Elemente von der Festplatte aufgerufen werden, bezieht die Anwendung, d.h. die Gameengine ihren Speicher direkt vom RAM, um eine möglichst effektive Leistung zu erzielen.

Grüße

Edit: habe die Nachrichten der Vorposter beim Verfassen nicht gesehen.

BeamerBen  28.03.2025, 19:59
@manfredalbach

Klar, 30GB Daten bekommst du nicht einfach in 16GB Arbeitspeicher. Das würde nicht einfach so funktionieren.

Es ist eher so, dass der Arbeitsspeicher der gerade sowieso nicht benötigt wird als Cache verwendet werden kann. Das ist natürlich besser als den Arbeitsspeicher ungenutzt zu lassen. Aber es landet nicht alles darin, nur Daten wo es sich anbietet und lohnt.

Weicht etwas vom Thema ab, aber es geht auch andersherum: Daten die eigentlich nur im Arbeitsspeicher sind, aber weniger wichtig sind, können auch auf die Festplatte geschrieben werden um mehr Arbeitsspeicher für wichtigere Dinge frei zu bekommen (swap).

Klar gibt es überall im Software Bereich Situationen in denen ein Cache sinnvoll ist

Den gibt es in vielen Bereichen, auch in Elektronik wie zum Beispiel in deiner CPU.

Caches gibt es überall und in jeder Form.

Deine CPU hat gleich drei verschiedene Arten von Cache.
Jedes Programm hat verschiedene Caches für verschiedene Daten, die liegen dann meistens im RAM.
Und viele Programme cachen Daten auf dem Datenträger, damit sie auch bei späteren Starts schneller darauf zugreifen können.

Ein Cache ist aber kein Totschlagargument gegen schlechte Performance.
So ein Cache bringt auch Nachteile mit, so kann es sein, dass er nur eine begrenzte Zeit leben darf, oder er muss - von außen gesteuert - geleert werden können, falls es aktuellere Daten gibt. Und dann gibt es oft verschiedene interne Prozesse, die gleichzeitig darauf zugreifen oder den Cache verändern wollen, die müssen untereinander synchronisiert werden, damit sie sich nicht in die Quere kommen.

So ein Cache kann also viel bringen, er kann aber auch vieles deutlich komplizierter machen.

Woher ich das weiß:Berufserfahrung – C#.NET Senior Softwareentwickler

Hi manfredalbach,

das ist eine gute Frage. Ersteinmal kann auch eine Webseite bei Providern gecached werden. Aber auch andere Anwendungen nutzen solche Techniken. Bei Spielen, oder Apps für Handys nutzen zum Teil intensiv den Cache. Es viele weitere Beispiele wie Chache z.B. genutzt wird. Zum Beisipiel wäre hier der Arbeitsspeicher zu nennen, der nichts anderes macht als temporär Daten zu speichern.

Woher ich das weiß:Berufserfahrung – Ich bin gelernter Mediengestalter Digital und Print(IHK)