Wie cache ich (Core-) API-Anfragen?

Ich bin gerade dabei, die neue (ab 2017) core-API von WordPress zu testen. Mein Setup ist ziemlich einfach:

+---------+ +------+ +---------+ |Wordpress||Guzzle|| App | |(API) | +------+ |(PHPSlim)| +---------+ +---------+ 

Guzzle wird über einen lokalen Loopback arbeiten (/ etc / hosts eingerichtet, um die API als lokale Ressource zu sehen).

Die Hauptspieler im WP-Raum für das Cachen (WP-Super-Cache, W3 usw.) scheinen nichts um die API herum zu tun. Mein Verständnis ist, dass sie im Wesentlichen Snapshots einer gerenderten Seite erstellen und alle PHP (einschließlich DB-Aufrufe) für zukünftige Anfragen überspringen.

Damit…

Die Frage ist, ist es möglich, einen Cache-Level auf die API-Aufrufe in WP anzuwenden? Die Site ist einigermaßen statisch, daher möchte ich idealerweise die DB nicht für jede Anfrage pingen.

Ich habe die Header von WP untersucht und keine Cache-Indikatoren sind vorhanden. Ich habe auch überlegt, wp_cache-functionen oder wp_transient-functionen zu verwenden, aber beide scheinen ein Missbrauch ihrer functionalität zu sein.

Kopfzeilen: Bildbeschreibung hier eingeben

Solutions Collecting From Web of "Wie cache ich (Core-) API-Anfragen?"

Es gibt ein Cache-Plugin für die WP Rest API mit dem Namen … WP Rest API Cache :

Ich habe es für kleine Projekte benutzt und mir sehr geholfen.

Es ist eine API …. möchten Sie veraltete Zwischenergebnisse erhalten, wenn Sie $ i ++ machen? Ich denke nicht.

Die Zwischenspeicherung sollte auf der Benutzerseite der API erfolgen, da nur sie wissen kann, welche Stufe der Stalenness toleriert werden kann.

Es ist nicht so, dass Sie jede Art von Caching auf der WordPress-Seite vermeiden sollten, aber bedenken Sie, dass Cache-Invalidierung eine Hündin ist. Der sicherste Weg ist das Objekt-Caching, das Sie in jedem Fall bei jeder ernsthaften WordPress-Bereitstellung haben sollten.