2010-11-18 11 views
0

Ich habe eine Webseite, die AJAX, MySQL und eine einfache PHP-Datei verwendet, um Inhalte für den Körper meiner Website zu erfassen und in den Textkörper der Seite einzufügen. Grundsätzlich ist die gesamte Website eine dynamische Seite, die jQuery und das Verlaufs-Plug-in verwendet, um alle Links mit Lesezeichen und Back/Forward-fähig zu halten.Optimieren AJAX-Website, um am wenigsten Ressourcen zu verwenden

Ich möchte meine Website so optimieren, dass möglichst wenig Ressourcen (serverseitig) verwendet werden. Jedes Mal, wenn jemand auf einen Link zu einer anderen "Seite" auf meiner Website klickt, wird die PHP-Seite aufgerufen und eine Datenbankverbindung erstellt, der Inhalt wird aus der Datenbank abgerufen und dann mit JavaScript auf der Seite platziert.

Wäre es besser, stattdessen die PHP-Datei eine zwischengespeicherte Datei, die den Inhalt enthält, zu erfassen und dann an den Browser zu senden?

Ich möchte immer noch, dass meine Seiten so aktuell wie möglich sind, also dachte ich mir, stattdessen eine Spalte in der Tabelle mit meinem Inhalt zu haben, die das Änderungsdatum angibt, und wenn die gecachte Datei älter ist, Laden Sie die Daten in die Tabelle und ersetzen Sie die zwischengespeicherte Datei. Dies würde jedoch dazu führen, dass das PHP-Skript sowohl eine Datenbankverbindung erstellt als auch die Dateiänderungszeit der zwischengespeicherten Datei überprüft.

Was ist die beste Lösung?

Antwort

2

Wenn Sie die Daten in der Datenbank aktualisieren, entfernen Sie auch alle zwischengespeicherten Versionen der entsprechenden Daten.

Auf diese Weise können Sie die PHP-Datei überprüfen, ob eine zwischengespeicherte Version der Datei vorhanden ist. Wenn es keinen gibt, verbinde dich mit der Datenbank und cache diese Daten und gib sie zurück, sonst gib einfach die zwischengespeicherte Version zurück. Auf diese Weise können Sie nur dann eine Datenbankverbindung herstellen, wenn keine zwischengespeicherte Version vorhanden ist.

+0

Danke, kann nicht glauben, dass ich selbst nicht daran gedacht habe! Ich habe ein benutzerdefiniertes Backend erstellt, um die Daten in meiner Datenbank zu aktualisieren, also werde ich es einfach neu erstellen, wenn ich die Seite aktualisiere. – Steve

Verwandte Themen