11. Daten Zwischenspeichern: die Transient API

Im Beispiel des Kapitels 9.6.1. habe ich gezeigt wie es möglich ist, die Anzahl von Facebook-Likes einer URL abzurufen. Dazu wurde die Funktion wp_remote_request() benutzt. Als Standard-Timeout-Wert verwendet WordPress 5 Sekunden. Das ist ganz okay. Zumindest solange wie die Graph API von Facebook innerhalb dieser Zeit antwortet. Tut sie das nicht, schöpft WordPress die vollen 5 Sekunden komplett aus, was letztlich dazu führt, dass die Ladezeit der Website sich um 5 Sekunden verzögert. Und das bei jedem Aufruf der Website. Das ist nicht gerade elegant vor allem weil man keinen Einfluss auf die API hat. Abhilfe schafft hier die so genannten Transient API. Transient kommt aus dem englischen und steht für “vorübergehend“, “flüchtig“ oder “vergänglich“. Eine Art Cache also.

Die Transient API ist ähnlich aufgebaut wie die Options API und befindet sich praktisch gesehen auch in der selben Datei1 wie die Options API (wird also unter demselben Namen geführt). Es gibt eine get_transient()– genauso wie eine set_transient()-Funktion. Der Unterschied besteht lediglich darin, dass zum übergebenen Wert auch eine Ablaufzeit gespeichert wird. Aber sehen wir uns das im Detail genauer an.

  1. https://core.trac.wordpress.org/browser/tags/3.9.1/src/wp-includes/option.php#L0 ↩︎