Object-Caching

Was ist Object-Caching und wie wird es in WordPress verwendet?

Spricht man über Caching, gibt es hier viele verschiedene Arten. Es gibt das Browser-Caching und Page-Cashing, sowie das Mobile– und User-Caching.
Durch die Verwendung von WP-Rocket profitiert man hier bereits von den oben genannten Caching-Arten.
Um das ganze noch zu ergänzen und wirklich die maximale Performance aus der Website zu holen, kann man hier noch das Zwischenspeichern von Objekten, der sog. Object-Cache hinzufügen.

Beim Object-Caching werden Datenbankabfragen im Hintergrund gespeichert. Ist dies nun auf der WordPress Seite aktiv, kann das Object-Caching dazu beitragen, die PHP-Ausführungszeit zu verkürzen, um somit die Belastung der Datenbank zu reduzieren und die Inhalte schneller an die Besucher auszuliefern.

Sehen wir uns erst mal genau an, was das Object-Caching ist und wie es mit WordPress funktioniert.
Ebenfalls gehen wir hier auf verschiedene Möglichkeiten ein, wie man diese Art von Caching auf der WordPress Seite implementiert, um die Leistung zu verbessern.

Was ist Caching?

Beim Caching werden häufig aufgerufene Daten vorübergehend in einem Cache gespeichert, damit Sie sie für spätere Anfragen wiederverwenden können.
Landet nun ein Besucher auf der Website und das Caching ist nicht aktiviert, sendet dessen Browser die Anfrage für die Website direkt an den Server.
Der Server bearbeitet diese Anfrage, setzt die angeforderten Website-Daten zusammen und sendet diese zurück an den Browser.

Besitzt man nun eine eher selten besuchte Seite, kann sich der Server hier entspannt zurücklehnen, da dieser nur hin und wieder Seiten verarbeiten und zusammenstellen muss.
Allerdings haben gerade Server, welche große Websites hosten, damit sehr viel Arbeit.
Diese müssen deutlich härter arbeiten und mehrere Seiten pro Sekunde verarbeiten und zusammenstellen, da eine Masse von Anfragen pro Sekunde eingeht.

Screenshot: Bearbeitungsvorgang bei der Anfrage der Website durch den Browser an den Server


Um diese Belastung des Servers zu verringern, wird das Caching verwendet.
Das Caching erstellt eine Kopie jeder Anfrage und speichert diese.
Wird diese Anfrage nun erneut gestellt, prüft es den vorhandenen Cache und bedient diese von dort aus.
Ist keine Kopie der Anfrage vorhanden, wird diese zur Verarbeitung und Zusammenstellung an den Server gesendet. Auf dem Weg zurück zum Browser wird hier dann eine Kopie im Cache gespeichert.

Durch das Caching kann man also den Server entlasten und diesem somit einiges an Arbeit ersparen.
Dies erlaubt dem Server somit auch, mehr Datenverkehr zu bewältigen als ohne Cache, was ebenfalls den Vorteil hat, dass die Inhalte den Benutzern schneller bereitgestellt werden.

Verschiedene Arten von Caching

Man unterscheidet hier zwischen den zwei Haupttypen von Caching:

Clientseitiges Caching & Serverseitiges Caching

Es gibt sehr viele Arten von clientseitigem Caching, jedoch ist die wohl bekannteste das Browser Caching.
Hier werden durch den Browser statische Websiteinhalte gespeichert, sodass die Seite beim nächsten Besuch der Website aus dem Cache des Computers abgerufen werden kann, anstatt diese erneut beim Servern anfragen zu müssen.

Das Object-Caching ist eine Art von serverseitigem Caching.
Es gibt vielen Arten von serverseitigem Caching, aber die Wichtigsten und Bekanntesten sind folgende:

1. Object-Caching:
Beim Object-Caching werden Datenbankabfragen gespeichert. Diese werden das nächste Mal, wenn ein Datenelement benötigt wird, es aus dem Cache geliefert, ohne dass die Datenbank abgefragt werden muss.

2. Seiten-Caching:
Beim Seiten-Caching wird der gesamte HTML-Code einer Seite gespeichert, sodass bei späteren Aufrufen der Inhalt – einschließlich Dateien und Datenbankabfragen – generiert und angezeigt werden kann, ohne dass WordPress dies jedes Mal tun muss.

3. Opcode-Caching:
Beim Opcode-Caching wird zwischen jeder Anfrage PHP-Code übersetzt. Damit der PHP-Code ausgeführt werden kann, muss der PHP-Compiler den Code zuerst zusammenstellen und diesen in ausführbaren Code übersetzen, welcher durch den Server ausgeführt werden kann.
Mit Opcode wird der bereits zusammengestellte und übersetzte Code zwischengespeichert.

4. CDN-Caching:
Content Delivery Networks (CDNs), die Server auf der ganzen Welt verwenden, um statische Website-Dateien (z.B. CSS, JavaScript und Mediendateien) für eine schnellere Bereitstellung an Benutzer zu speichern, die geografisch weit vom Host-Server entfernt sind.

Was ist Object Caching genau?

Object-Caching umfasst das Speichern von Datenbankabfragen, sodass diese beim nächste Mal, wenn ein Ergebnis benötigt wird, es aus dem Cache bereitgestellt werden, ohne dass die Datenbank erneut abgefragt werden muss.

Als CMS System ist WordPress natürlich stark von der Datenbank abhängig. Daher ist die Datenbankeffizienz hier sehr entscheidend für die Skalierung und Performance von WordPress.

Wenn du eine stark besuchte Website betreibst, welche eine große Anzahl von Datenbankabfragen generiert, kann der Server schnell überlastet werden, was sich wiederum negativ auf die Leistung der Website auswirkt.

Ist also das Object-Caching auf der Website aktiv, kann dies dazu beitragen, die Belastung der Datenbank und somit des Servers zu verringern und die Abfragen der Besucher der Website dadurch schnell zu bearbeiten und bereitzustellen.

WP_Object_Cache?

WordPress besitzt bereits einen eigebauten Object-Cache namens WP_Object_Cache.
Dieser wurde 2005 eingeführt und bietet eine Möglichkeit, alle Daten aus der Datenbank automatisch im PHP-Speicher zu speichern, um wiederholte Abfragen zu verhindern.

Dieser Object-Cache speichert jedoch nur Objecte für das Laden einer einzelnen Seite – er verwirft Objekte im Cache am Ende der Anfrage, sodass sie bei der nächsten Anforderung der Seite von Grund auf neu erstellt werden müssen.

Dies ist zwar eine nützliche Funktion von WordPress, um sicherzustellen, dass die Datenbank während des Ladens einer einzelnen Seite nicht mehrmals nach ähnlichen Abfrageanforderungen abgefragt wird, aber es ist nicht gerade effizient.

Hier können anhaltende Caching-Lösungen helfen. Das Zwischenspeichern von Objekten ist leistungsfähiger, wenn es zum Zwischenspeichern von Objekten zwischen mehreren Seitenladevorgängen verwendet werden kann.

Externe, anhaltende Object-Caching-Lösungen wie Redis und Memcached ermöglichen es, den Object-Cache zwischen den Anforderungen zu speichern. Dies trägt dazu bei, die Bereitstellung von Datenbankabfragen zu beschleunigen und gleichzeitig die Arbeitsbelastung des Servers weiter zu verringern.

Was sind Redis und Memcached?

Anhaltendes Object-Caching ist vor allem dann ein Muss, wenn man mit der Seite wachsen möchte.
Ohne dies verlangsamt sich die Leistung der Website, sobald Komplexität und Traffic zunehmen.
Dies gilt ebenfalls für angemeldete Nutzer und dynamische Seiten.
Hier kann das Object-Caching dazu beitragen, eine bessere und schnellere Benutzererfahrung zu bieten.

Die zwei beliebtesten Caching-Tools für eine anhaltende Caching-Lösung sind hier Redis und Memached.

Bei beiden Tools handelt es sich um schnelle und leistungsstarke In-Memory-Datenspeicher, die somit die Belastung der MySQL-Datenbank der Website reduzieren können, während sie gleichzeitig die Antwortzeit der Website verkürzen und somit die Fähigkeit der Website zum Wachsen und Bewältigen von erhöhtem Datenverkehr stärken.

Memcached ist seit langem ein beliebtes Caching-Tool, jedoch kann Redis alles, was Memcached auch kann, mit einem viel größeren Funktionsumfang.
Es ist dadurch auch beliebter und wird besser unterstützt.

Wie verwende ich Object-Caching

Das in WordPress integrierte Object-Caching funktioniert bereits standardmäßig auf der Website, ohne dass hier etwas getan werden muss, um dies zu aktivieren.

Solltest du Interesse an Redis oder Fragen zu diesem Thema haben, melde dich bei uns im Support.

Verwandte Artikel

Die Nutzung von Redis-Cache

Was ist im HostPress Support enthalten

Grundlagen des HostPress Rocketcache

Effiziente Cache-Richtlinien für statische Inhalte

Zuletzt geändert: 23. November 2022

War dieser Artikel hilfreich?

Empfohlene Artikel

Brauchst du Unterstützung?
Du kannst die gesuchte Antwort nicht finden?
Support kontaktieren