Cachen mit der WordPress Transient API

Die Transient API von WordPress bietet eine Liste von Funktionen, die das Cachen von Daten in der Datenbank vereinfacht. Dies kann man via Plugin nutzen, aber auch im Frontend-Bereich kann diese Lösung nützlich sein. Ein kleines Beispiel soll dies verdeutlichen.

WordPress besitzt eine API die explizit zum zeitlich gesteuerten Speichern von Daten gedacht ist - die Transient API. Diese API ist also für das Cachen von Daten in der Datenbank gedacht und recht einfach einzusetzen - dies sollte man auch tun.

Die Transient API ist nicht nur für Entwickler interessant, wie das folgende kleine Beispiel zeigt, welches die Daten der Tag-Wolke innerhalb der Datenbank speichert und so typischerweise im Theme Verwendung finden könnte.

Im ersten Schritt holen wir dazu den Eintrag aus der Datenbank, der als Inhalt für die Tag-Wolke dienen soll - $tag_cloud = get_transient( 'tag_cloud' );. Wenn dieser Eintrag fehlt schlägt, dann wird die Tag-Wolke normal über den Template Tag wp_tag_cloud() erzeugt. Einziger Unterschied gegenüber der "normalen" Verwendung im Template des Theme, die direkte Ausgabe ist auf FALSE, da wir sie in einer Variable benötigen.
Im folgenden setzen wir nun den Eintrag in der Datenbank mit diesem Inhalt und geben einen Zeitwert mit: set_transient($transient, $value, $expiration);. Der Zeitwert, Parameter drei, wird in Sekunden angegeben.
Nun muss lediglich der Wert der Variable ausgegeben werden und fertig; ab nun bekommt die Tag-Wolke ihrer Daten aus dem Cache, der für einen Zeitraum von 12 Stunden existiert und dann neu erstellt wird.


$tag_cloud = get_transient( 'tag_cloud' );
if ( false === $tag_cloud || '' === $tag_cloud ){
	$args = array('echo' => false);
	$tag_cloud = wp_tag_cloud( $args );
	set_transient( 'tag_cloud', $tag_cloud, 60*60*12 );
}
echo $tag_cloud;

Das kleine Beispiel verdeutlicht hoffentlich die Möglichkeiten, die Transient API liefert einige weitere Funktionen, die im Codex sehr schön nachzulesen sind.

Kommentare sind geschlossen.