Caching von PHP / API Abfragen

Felix Weber

Angesehenes Mitglied
Hallo,

ich arbeite gerade an einer Seite die Ihren Content zum Teil aus APIs holt.
Bisher war die Performance kein Problem (perfekt), aber nun habe ich das Problem,
dass diverse API Anfragen die Seite wirklich langsam machen!
Ich kann nicht einfach die APIs herausnehmen und ein Umstieg von PHP nach JavaScript (für die Abfragen) wäre zu viel Aufwand.

Daher kam ich auf die Idee die Seiten einfach zu cachen und somit die Ladezeit nach dem zweiten Aufruf zu verkürzen.
Wenn die gecached Datei älter ist als 2 Wochen soll nicht auf die Datei zugegriffen werden, sondern mit den neuen Daten überschrieben.

Die Sache ist nur, dass ich nicht recht weiß, wie ich das umsetzen soll!
a) alles in eine Datenbank schreiben (da müsste ich alles nochmal machen)
b) die "fertigen" Seiten speichern und beim Aufrufen prüfen, ob so eine Seite vorhanden ist

Ich bevorzuge b) , nur soll der per PHP erledigt werden oder JavaScript?
Wie mache ich das mit dem Updaten?

Ich möchte nur ein bisschen feedback von euch, wie Ihr das machen würdet!
Vielleicht hat ja jemand Erfahrung damit!

Danke!
 
Also du kannst natürlich die "fertigen" Seiten cachen, du kannst aber auch einfach nur den Schnippsel, der von der API kommt, cachen.
Das machste dann mit einem HTML Cache in PHP.
Oder, was halt auch sehr schön ist:
Du kannst PHP Memcache nutzen.
Dabei wird nicht kompletter HTML-Code gecacht, sondern du legst die Antwort-Daten der API einfach als Daten in den Cache und kannst sie dann beim Auslesen beliebig weiter verarbeiten.
Kommt halt auf deine genaueren Anforderungen an.
 
QUOTE (Felix Weber @ Do 18.11.2010, 13:00) Die Sache ist nur, dass ich nicht recht weiß, wie ich das umsetzen soll!
a) alles in eine Datenbank schreiben (da müsste ich alles nochmal machen)
b) die "fertigen" Seiten speichern und beim Aufrufen prüfen, ob so eine Seite vorhanden ist

Ich bevorzuge b) , nur soll der per PHP erledigt werden oder JavaScript?
Wie mache ich das mit dem Updaten?

JavaScript wird erst auf dem Browser des Users ausgeführt. PHP dagegen wird Serverseitig ausgeführt.

Du kannst per PHP ein Script schreiben (holedaten.php), welches die Daten bei der API abfragt, und eine "fertige" Seite als HTML-Datei speichert.

Beim Aufruf der Seite, kann dann ein anderes PHP Skript das Datum dieser HTML-Datei prüfen.
Solte die Datei zu alt sein, wird erst das (holedaten.php) Skript ausgeführt
und danach die erstellte HTML-Datei ausgegeben.
 
Zurück
Oben