• Cache

    Cache ist das englische Wort für Speicher und zeigt die gespeicherte Version einer Internetseite. Diese Cache Version kann unter Umständen nicht immer aktuell sein, was einige Vorteile mit sich bringt. Mit Hilfe des Caches kann man zum Beispiel feststellen wann die Seite das letzte mal Besuch von den Google-Bots hatte. Sollte die Seite einmal nicht verfügbar sein, kann man sich im Cache die letzte gespeicherte Version anschauen.

    Autor: She
    Stand: 12.08.11

    Überarbeitet von:
    am:
    (Du möchtest diese Erklärung zum Thema überarbeiten / erweitern oder hast eine Erklärung zu einem Thema, das hier fehlt? Schick uns bitte Deine neue Version per PM. Danke!)

    Sollte Deine Frage zum Thema nun noch nicht beantwortet sein, kannst Du hier jetzt weiterführende Fragen stellen!
    (einfach auf "Antwort" klicken)

  • Cache (ausgesprochen wie "Cash") bezeichnet in der Computertechnik und im Internet einen Speicherort, der temporär Daten speichert, um zukünftige Anfragen nach diesen Daten schneller bearbeiten zu können. Caching kann auf verschiedenen Ebenen des Technologie-Stacks angewendet werden, einschließlich Hardware, Software und Netzwerken. Ziel des Cachings ist es, die Effizienz und Leistung zu verbessern, indem die Notwendigkeit reduziert wird, Daten erneut zu berechnen oder von langsameren Speicherorten zu holen. Hier sind einige Schlüsselaspekte und Anwendungen von Caching:

    Typen von Caches

    • Browser-Cache: Webbrowser speichern Kopien von Webseiten, Bildern und anderen Ressourcen, die ein Benutzer besucht, um das Laden von Webseiten zu beschleunigen, wenn der Benutzer sie erneut besucht.
    • Webserver-Cache: Webserver können statische Inhalte (wie HTML-Seiten und Bilder) oder dynamische Inhalte (generierte Seiten aufgrund von Benutzeranfragen) cachen, um die Antwortzeiten zu verbessern und die Serverlast zu verringern.
    • CDN (Content Delivery Network) Cache: CDNs speichern Inhalte an geografisch verteilten Standorten, um Datenlieferzeiten zu minimieren, indem Inhalte von einem Standort nahe beim Benutzer geliefert werden.
    • Datenbank-Cache: Datenbanksysteme verwenden Caching, um häufig abgefragte Daten im Speicher zu halten und schnellen Zugriff auf diese Daten zu ermöglichen, ohne die Datenbank erneut lesen zu müssen.
    • Anwendungs- oder Software-Cache: Anwendungen können Daten oder Ergebnisse von Berechnungen im Speicher halten, um die Leistung bei wiederholten Anfragen oder Operationen zu verbessern.

    Vorteile des Cachings

    • Leistungsverbesserung: Durch die Verringerung der Notwendigkeit, Daten von langsameren Speichermedien zu holen oder komplexe Berechnungen erneut durchzuführen, können Anwendungen schneller reagieren.
    • Bandbreiteneinsparung: Caching reduziert den Bedarf, dieselben Daten mehrmals über das Netzwerk zu übertragen, was besonders nützlich ist, um die Netzwerklast zu verringern und Bandbreite zu sparen.
    • Skalierbarkeit: Durch die Verringerung der Last auf Backend-Systeme (wie Datenbanken und Anwendungsserver) kann Caching dazu beitragen, die Skalierbarkeit von Webanwendungen und Diensten zu verbessern.

    Herausforderungen beim Caching

    • Kohärenz und Aktualität: Eine der Hauptherausforderungen beim Caching ist sicherzustellen, dass die gecachten Daten kohärent und aktuell sind. Wenn sich die Originaldaten ändern, müssen die gecachten Kopien entsprechend aktualisiert oder invalidiert werden, um Dateninkonsistenzen zu vermeiden.
    • Cache-Strategien: Die Auswahl der richtigen Cache-Strategie (z.B. wann und wie lange Daten gecacht werden sollen) ist entscheidend, um die Vorteile des Cachings zu maximieren und gleichzeitig potenzielle Probleme zu minimieren.

    Caching ist ein mächtiges Werkzeug zur Optimierung der Leistung und Effizienz von Computersystemen und Netzwerken. Durch die sorgfältige Implementierung und Verwaltung von Cache-Strategien können Entwickler und Systemadministratoren die Geschwindigkeit und Benutzererfahrung ihrer Anwendungen deutlich verbessern.

    wenn etwas möglich erscheint mach ich das, wenn das nicht klappt gehts ans unmögliche und ansonsten das undenkbare.

    - nun stolz rauchfrei - Ich denke also Bing ich!

    Support 24h Bereitschaft 0173 6107465 - NUR Für Kunden von SEO NW!

  • Der Cache (Puffer-Speicher oder auch Versteck) kommt in eigentlich allen Bereichen der EDV vor und spielt auch bei der Suchmaschinenoptimierung und Entwicklung von Programmen und Webseiten eine wichtige Rolle.

    Die Aufgabe eines Caches ist es, Inhalte bzw. Daten in einem schnelleren Speichermedium vorrätig zu halten, um diese bei Bedarf schneller bereitstellen zu können. Prinzipiell gibt es viele verschiedene Caches, primär werden jedoch zwei große Bereiche gebildet: Der Software-Cache und der Hardware-Cache. Beide sind wichtig, auch wenn man als Seitenbetreiber eigentlich nur auf den Software-Cache reagieren bzw. diesen nutzen kann. Der Hardware-Cache selbst befindet sich jeweils in der entsprechenden Hardware, etwa der Cache innerhalb einer Festplatte oder der L1- und L2-Cache in einer CPU. Dennoch sind auch diese dafür da, Verarbeitungen von Daten zu beschleunigen und somit schneller bereitzustellen.

    Der Softwarecache hingegen ist allgegenwärtig und kann auch von Seitenbetreibern direkt zur Optimierung der Webseite genutzt werden. Als Softwarecache bezeichnet man eigentlich alle Puffer-Speicher, die von einer Software erstellt, verarbeitet und auch genutzt werden können. Das einfachste Beispiel dafür ist der Browser-Cache, in dem der Browser bereits geladene Seiteninhalte zwischenspeichert. Im Grunde ist auch eine Suchmaschine wie Google nur ein riesiger Cache. Ein Spider durchsucht permanent das Internet nach Inhalten und speichert diese im eigenen Cache, dem Index. Der oft in den Suchergebnissen zu sehende Verweise "im Cache" zeigt also nur das vorher gespeicherte Abbild der Seite. Nur so ist überhaupt möglich, Suchanfragen zeitnah beantworten zu können, ohne bei jeder Suchanfrage das langsame Medium "Internet" erneut durchsuchen zu müssen.

    Für Seitenbetreiber, Webmaster und Administratoren werden im Allgemeinen Caches immer wichtiger. Auch wenn die Internetverbindungen immer schneller werden, so achten immer mehr Suchmaschinen auch auf die Ladezeit einer Webseite. War es früher üblich, bei jedem Seitenaufruf die Daten neu zu berechnen, zu erstellen und auszuliefern, so werden diese jetzt im eigenen Cache gespeichert und somit schneller ausgeliefert - die Ladezeit verkürzt sich also. Viele CMS-Systeme oder Foren bringen dafür bereits eigene Lösungen mit, aber auch der Administrator kann auf dem Server selbst einige weitere Caches aktivieren und nutzen. Das gleichzeitige Nutzen mehrerer Caches in Folge ist ebenso möglich.

    Gerade moderne CMS-Systeme sind in der Regel rein datenbankgestützt. Das bedeutet, es liegen keine HTML-Dateien mehr wie früher auf dem Webspace, sondern alle Inhalte einer Webseite werden beim Zugriff aus der Datenbank neu zusammengesucht, zusammengestellt und dann vom Server an den Browser ausgeliefert. Dieses stetige "neu zusammensuchen und zusammenstellen" dauert jedoch natürlich länger, als eine bereits fertige HTML-Datei auszuliefern. Hier greifen dann die integrierten Caches der CMS-Systeme an. Die speichern die zusammengestellten Informationen für einen bestimmten Zeitraum und liefern dieses Abbild bei einer erneuten Anfrage aus. Die Datenbank und auch die Hardware selbst werden dabei deutlich entlastet.

    Der Browser-Cache geht hier noch einen Schritt weiter und dessen Nutzung kann die Ladezeit nochmals deutlich reduzieren. Selbst wenn das CMS-System ein eigenes Abbild hat und dieses ausliefert, dieses Abbild besteht dennoch aus allen Daten. Das sind die Textinhalte, der HTML-Markup selbst, Bilder und andere Elemente, die auf der Seite eingebunden sind. Gerade heute, bei modernen Webseiten, hochauflösenden Bildern, animierten Elementen oder gar Scripten, die die Funktionalität einer Webseite aufpeppen sollen, ist dieser Datenfluss zum Browser teilweise recht enorm. Da ist alles dabei, von winzigen 20 KB bis hin zu Seiten mit mehreren MB. Auch wenn die Internetverbindungen immer schneller werden, so dauert es dennoch eine Zeit, bis z.B. eine Webseite mit 1 MB geladen ist. Das geht bei den meisten Nutzern nicht binnen 1-2 Sekunden. Genau hier setzt der Browser-Cache an, denn dieser kann bereits geladene Inhalte einer Webseite zwischenspeichern und bei Bedarf direkt aus dem lokalen Speicher verwenden, ohne sie über das Internet laden zu müssen. Hat der Browser bereits Daten vorliegen, so fragt er beim Server nur an, ob sein eigenes Abbild noch gültig ist. Ist das so, dann sendet der Server auch nur eine extrem kurze Antwort "Ja, ist gültig". Sind die Daten jedoch veraltet, dann sendet der Server alles neu und der Browser aktualisiert seinen eigenen Cache.

    Genau hier kann der Webmaster durchaus eingreifen und Cache für seine eigene Suchmaschinenoptimierung nutzen. Wichtig dabei ist insbesondere, statische Elemente auszuliefern. Statisch bedeutet dabei, dass dessen Inhalt "fest" ist und sich nicht verändert und auch, dass die URL einer Seite selbst oder eines Bildes gleich bleibt. Hat man etwa das gleiche Bild unter drei verschiedenen Namen dreimal auf der Seite, so sind das drei statische Elemente, die der Browser zwar speichern kann, aber eben auch alle drei laden muss. Hätte das identische Bild immer nur den gleichen Namen, dann müsste nur ein Element geladen und gespeichert werden. In Bezug auf eine URL ist es ähnlich. Bei vielen Systemen wird eine einmalige Kennung, eine Session-ID oder sonstige Parameter an die eigentliche URL angehängt. Zwar kann der Browser auch diese Seite speichern, doch ändert sich nur einer der Parameter, so ist das Abbild im Cache nicht mehr gültig und muss neu geladen werden.

    Hinzu kommt auch, dass Webserver per Default nicht festlegen, ob ein Inhalt gecached werden darf oder nicht oder auch wie lange. Sie überlassen diese Entscheidung allerdings dem Browser, der teilweise aber durchaus recht willkürlich mit der Entscheidung umgeht und je nach Einstellung des Anwenders auch eine andere Cachedauer besitzt. Dabei ist es durchaus sinnvoll, bestimmte Inhalte auf eine sehr lange Dauer in den Cache zu legen, ohne dass der Browser nachfragen muss, ob der Inhalt noch gültig ist oder nicht. Dies spart zwar nur sehr wenig Traffik, aber es ist für jedes so abgelegte Element ein Request an den Webserver weniger. Derartige Elemente können eigentlich alle Dokumente sein, die sich eigentlich nur sehr selten ändern. So etwa eine Header-Grafik, ein Stylesheet (CSS), Javascripte, das Favorit-Icon usw. Diese Daten können eigentlich direkt in den Cache und der Browser kann sie immer verwenden. Sollte doch einmal eine Änderung daran nötig sein, so benennt man die Datei einfach um, etwa mit einem Datum in Dateinamen oder einer Versionsnummer. Das stellt dann zum einen sicher, dass der Browser soweit möglich immer die Kopie aus dem eigenen Cache nimmt, aber auch, dass bei Bedarf eine neue, geänderte Datei ausgeliefert werden kann.

    Vorteile vom Cache:

    • Reduzierung der zu übertragenden Datenmenge (normaler Browser-Cache)
    • Reduzierung der Reqeusts an den Webserver (durch mod_expires)
    • Beschleunigung der Webseite
    • Mögliche Alternative bei Ausfall (die Kopie im Cache ist weiterhin vorhanden)

    Nachteile vom Cache:

    • Je nach Umfang und Art recht aufwendig
    • Umsetzung muss gut geplant werden. Was darf dauerhaft in den Cache, was nicht, wie lange?
    • Falsch oder schlecht umgesetzte Caches führen oft zu veralteten Daten, obwohl neuere bereits vorhanden wären

    Wenn ein Mensch nicht um dich kämpft, hat er nur gewartet, dass du gehst. ;(