Springe zum Hauptinhalt

Wie nicht-persistenten Cache Wordpress zu verwenden

Divi: das am einfachsten zu verwendende WordPress-Theme

Divi: Das beste WordPress-Theme aller Zeiten!

Mehr 901.000 Downloads, Divi ist das beliebteste WordPress-Theme der Welt. Es ist vollständig, einfach zu bedienen und enthält mehr als 62-freie Vorlagen. [Empfohlen]

Es gibt verschiedene Möglichkeiten, um Ihre Site effizienter zu gestalten: Mit speziellen Plugins können Sie Seiten für statischen HTML-Inhalt zwischenspeichern, mit anderen können Sie alle SQL-Abfragen und Datenobjekte zwischenspeichern und schließlich einige Mit dieser Option können Sie JavaScript- und CSS-Dateien sowie serverseitige Lösungen minimieren.

mise-en-hide-on-Wordpress

Aber selbst wenn Sie diese Plugins verwenden, ist die Verwendung interner Caching-Methoden für Datenbankobjekte und -ergebnisse eine gute Entwicklungspraxis, da Ihr Plugin nicht von der Caching-Lösung abhängt, die verfügt über den Endbenutzer. Ihr Plugin sollte von sich aus schnell sein und sich nicht auf andere Plugins verlassen, um die Drecksarbeit zu erledigen. Und wenn Sie der Meinung sind, Sie sollten Ihren eigenen Code für die Cache-Verwaltung schreiben, liegen Sie falsch. WordPress enthält alles, was Sie zur schnellen Implementierung verschiedener Daten-Caching benötigen. Sie müssen nur die Teile Ihres Codes identifizieren, die von der Optimierung profitieren, und einen entsprechenden Caching-Typ auswählen.

WordPress implementiert zwei verschiedene Caching-Methoden:

nicht persistent

Die Daten bleiben im Cache, während die Seite geladen wird. (WordPress verwendet es, um die meisten Abfrageergebnisse aus der Datenbank zwischenzuspeichern.)

Hartnäckig

Erstellen Sie ganz einfach Ihre Website mit Elementor

Mit Elementor können Sie auf einfache Weise jedes Website-Design mit einem professionellen Look erstellen. Zahlen Sie nicht mehr teuer für das, was Sie selbst tun können. [Kostenlos]

Dies hängt davon ab, wie die Datenbank funktioniert, und die zwischengespeicherten Daten können nach einer bestimmten Zeit selbst verfallen. (WordPress verwendet es, um RSS-Feeds, Updates usw. zwischenzuspeichern.)

In diesem Lernprogramm wird nur der nicht persistente Cache betrachtet.

So richten Sie den nicht persistenten "nicht persistenten" Cache ein

Wenn Sie Funktionen wie " get_posts () "Oder" get_post_meta () WordPress prüft zunächst, ob die benötigten Daten zwischengespeichert sind. Wenn ja, erhalten Sie Daten aus dem Cache. Andernfalls wird eine Datenbankabfrage ausgeführt, um diese Daten zu erhalten. Sobald die Daten wiederhergestellt sind, werden sie ebenfalls zwischengespeichert. Für Datenbankergebnisse, die beim Erstellen einer Seite wiederverwendet werden können, wird ein nicht persistenter Cache empfohlen.

Der interne nicht persistente Cache-Code von WordPress befindet sich in der Datei " cache.php "Im Verzeichnis" wp-includes ", und es wird vom" WP_Object_Cache ". Wir müssen zwei Grundfunktionen verwenden: " wp_cache_set () "Und" wp_cache_get () Gleichzeitig mit den Zusatzfunktionen " wp_cache_add () "," wp_cache_replace () "," wp_cache_flush () "Und" wp_cache_delete () “. Der zwischengespeicherte Speicher ist in Gruppen organisiert, von denen jeder Eintrag seinen eindeutigen Schlüssel benötigt. Um zu vermeiden, dass die Standard-WordPress-Daten gemischt werden, sollten Sie eindeutige Namen verwenden.

Beispiel

In diesem Beispiel erstellen wir eine Funktion mit dem Namen "d4p_get_all_post_meta ()", die alle mit einem Artikel verknüpften Metadaten abruft. Diese erste Version enthält kein Caching.

function d4p_get_all_post_meta($post_id) {
    global $wpdb;

    $data = array();
    $raw = $wpdb->get_results( "SELECT meta_key, meta_value FROM $wpdb->postmeta WHERE post_id = $post_id", ARRAY_A );

    foreach ( $raw as $row ) {
        $data[$row['meta_key']][] = $row['meta_value'];
    }

    return $data;
}

Jedes Mal, wenn Sie diese Funktion für denselben Artikel aufrufen, wird eine SQL-Abfrage ausgeführt. Hier ist die geänderte Funktion, die den nicht persistenten WordPress-Cache verwendet:

function d4p_get_all_post_meta($post_id) {
    global $wpdb;

    if ( ! $data = wp_cache_get( $post_id, 'd4p_post_meta' ) ) {
        $data = array();
        $raw = $wpdb->get_results( "SELECT meta_key, meta_value FROM $wpdb->postmeta WHERE post_id = $post_id", ARRAY_A );

        foreach ( $raw as $row ) {
            $data[$row['meta_key']][] = $row['meta_value'];
        }

        wp_cache_add( $post_id, $data, 'd4p_post_meta' );
    }

    return $data;
}

Hier verwenden wir eine Cache-Gruppe mit dem Namen " d4p_post_meta ", Und" post_id ", das ist der Schlüssel. Mit dieser Funktion prüfen wir, ob wir alle Daten im Speicher benötigen. Andernfalls führen wir den normalen Code aus, um Daten abzurufen, und fügen ihn dann dem Cache in Zeile 13 hinzu. Wenn Sie diese Funktion also mehrmals aufrufen, führt nur der erste eine SQL-Abfrage aus. Bei allen anderen Aufrufen werden Daten aus dem Cache abgerufen. Hier verwenden wir die Funktion " wp_cache_add ", Wenn die Kombination" Schlüsselgruppe "bereits vorhanden ist, wird sie nicht ersetzt. Vergleichen Sie das mit " wp_cache_set Welches wird immer einen vorhandenen Wert ersetzen, ohne zu überprüfen.

Wie Sie sehen, haben wir nur eine kleine Änderung am vorhandenen Code vorgenommen, aber möglicherweise viele Aufrufe an die Datenbank gespeichert, wodurch das Laden möglicherweise beschleunigt wurde.

wichtige Hinweise

Die nicht-persistente Cache ist beim Laden der aktuellen Seite nur zur Verfügung; sobald die nächste Seite geladen wird, wird es wieder leer sein.

Die Speichergröße wird durch den vom Server zugewiesenen Gesamtspeicher auf PHP begrenzt. Speichern Sie keine großen Datenmengen, da sonst möglicherweise die Meldung "Nicht genügend Speicher" angezeigt wird.

Die Verwendung dieses Cache-Typs ist nur für Vorgänge sinnvoll, die während der Erstellung einer Seite mehrmals wiederholt werden.

Erstellen Sie einfach Ihren Online-Shop

Laden Sie kostenlos WooCommerce herunter, die besten E-Commerce-Plugins, um Ihre physischen und digitalen Produkte auf WordPress zu verkaufen. [Empfohlen]

Es arbeitet mit Wordpress seit 2.0 Release.

Das war's für dieses Tutorial. Ich hoffe, Sie können damit Ihr Blog besser zwischenspeichern.

Dieser Artikel enthält Kommentare 0

Hinterlassen Sie einen Kommentar

Ihre E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *

Diese Website verwendet Akismet, um unerwünschte Inhalte zu reduzieren. Erfahren Sie mehr darüber, wie Ihre Kommentardaten verwendet werden.

Zurück nach oben
5 Aktien
Aktie2
tweet
Registrieren3