Ich habe die Installation von PEAR bereits vorgestellt. Heute werde ich eines von mehreren bekannten PEAR-Paketen vorstellen. Wenn Sie etwas unklar sind, suchen Sie bitte auf der Website nach dem vorherigen Tutorial.
Was wir heute vorstellen werden, ist das Cache_Lite-Paket von PEAR. Die Augen von Webentwicklern werden groß, wenn sie über Geschwindigkeit sprechen, genauso wie die Augen von Männern größer werden, wenn sie eine atemberaubende Schönheit sehen. Deshalb möchte ich hier als Erstes das Cache_lite-Paket von PEAR vorstellen Mit diesem Paket können Sie jeden Teil der Webseite entsprechend Ihren Anforderungen zwischenspeichern und so die Seitengenerierung und Ladegeschwindigkeit erheblich verbessern!
Gehen Sie zunächst zu Pear's List Packages, um das Cache_Lite-Installationspaket herunterzuladen. Beim Schreiben dieses Tutorials ist die stabile Version 1.7.2, also laden wir diese Version herunter, entpacken sie nach dem Herunterladen und legen die Datei dann im Stammverzeichnis von PEAR ab ( Wie das Dateiverzeichnis organisiert wird, wird später vorgestellt. Anschließend gehen wir zum entsprechenden Kapitel des Handbuchs, um zu sehen, wie es verwendet wird. Sie können sich zunächst die Einführung zu Paketen ansehen. Es gibt hier kein Vorspiel und wir gehen direkt zum Thema über. Das Folgende ist ein Beispiel für Cache_Lite::get(). Beginnen wir mit diesem Beispiel. Ich habe dem Beispiel chinesische Kommentare hinzugefügt.
require_once "Cache/Lite.php";//Dies ist die Adresse relativ zu PEAR Nachdem Sie die Lite.php-Datei in dem gerade heruntergeladenen Paket gefunden haben, sollten Sie wissen, wie Sie diesen Ordner bereitstellen!
$options=array(
'cacheDir'=>'/tmp/',//Dies ist der Pfad des Caches, am besten verwenden Sie einen absoluten Pfad, der in unserem Beispiel erläutert wird
'lifeTime'=>7200, //Cache-Ablaufzeit in Sekunden
'pearErrorMode'=>CACHE_LITE_ERROR_DIE//Fehlerberichtsmodus
);
$cache=newCache_Lite($options);//Nach dem Festlegen der Parameter einen Cache erstellen
if($data=$cache->get('id_of_the_page')){//Wenn der Cache mit id=id_of_the_page vorhanden ist, werden die zwischengespeicherten Daten direkt ausgegeben
// Cache-Hit!
// Inhalt ist in $data
// (...)
}else{//Wenn der Cache nicht vorhanden ist, generieren Sie einen Cache
// Kein gültiger Cache gefunden (Sie müssen die Seite erstellen und speichern)
// (...)
}
Nachdem Sie das obige Beispiel gelesen haben, finden Sie, dass es sehr einfach ist? Tatsächlich liegt der Schlüssel zum Caching nicht darin, wie Caches generiert und gelöscht werden, sondern darin, wie die Beziehung zwischen statischen und dynamischen Caches ausgeglichen wird und wie der Cache zum richtigen Zeitpunkt neu erstellt wird. Lassen Sie mich mit einem Beispiel beginnen, damit jeder die Vorteile des Cachings erkennt! , erstellen Sie bitte einen Datei-Cache unter Tutor (das Stammverzeichnis, das dem Beispiel in unserem Tutorial entspricht). Setzen Sie die Eigenschaft für *nix-Betriebssysteme bitte auf 0777, erstellen Sie dann die Datei „cache.php“ unter dem Tutor-Ordner und geben Sie den folgenden Code ein
: <? php
require_once"config.php";
require_once"Cache/Lite.php";
// Der folgende Code dient zur Berechnung der Seitenausführungszeit und hat nichts mit dem Cache zu tun.
Funktionget_microtime()
{
list($usec,$sec)=explode(' ',microtime());
return((float)$usec+(float)$sec);
}
$s= get_microtime();
//Das Folgende sind die Cache-Einstellungen
$options=array(
'cacheDir'=> WEB_DIR."/cache/",
//Bitte gehen Sie zu Tutor (das Stammverzeichnis, das den Beispielen in unserem Tutorial entspricht)
//Dateicache erstellen,
//*nix-Betriebssystem, bitte setzen Sie das Attribut auf 0777
'lifeTime'=>10,//10 Sekunden Ablaufzeit
'pearErrorMode'=>CACHE_LITE_ERROR_DIE
);
$cache=newCache_Lite($options);
$cache_id='cache'; //id muss eindeutig sein
// Andernfalls kommt es zu Konflikten mit dem Cache anderer Personen.
if($data=$cache->get($cache_id)){
//Daten sind das Ergebnis des Datenabrufs, wenn der Cache existiert und nicht abgelaufen ist,
//Daten direkt abrufen
echo$data;
}anders{
//Ansonsten erstellen wir einen Cache
// Im Folgenden verwenden wir bewusst Schleifen, um Zeit zu verbrauchen
while($i<10000000)
$i++;
$data='Cache-Erstellungszeit:'.date("Ymd H:i:s");
$data.="<p>Die Ausführungszeit ohne Cache beträgt: ".(get_microtime()-$s)."seconds";
echo$data;
$cache->save($data);
}
echo"<p>Die aktuelle Seite dauert: ".(get_microtime()-$s)."Sekunden</p>";
?>
Führen Sie http://127.0.0.1/tutor/cache.php im Browser aus und prüfen Sie, ob eine Datei im Cache-Verzeichnis generiert wird. Es fühlt sich sehr erfüllend an, oder? !
Auf der Webseite haben wir festgestellt, dass die erste Laufzeit etwa 1 Sekunde dauerte und nach der Generierung des Caches nur noch 1/1000 der ursprünglichen Zeit betrug. Diese Effizienz muss ich nicht mehr beschreiben! ! Tatsächlich ist der allgemeine Prozess des obigen Beispiels: 1. Legen Sie die Cache-Parameter fest, einschließlich der Cache-ID. 2. Überprüfen Sie anhand der Parameter und der ID, ob der Cache vorhanden ist. Die Cache-Daten werden in den $data abgerufen Variable und dann als Echo ausgegeben, andernfalls den Cache neu generieren, die Ergebnisse der Seite in einer Variablen speichern und dann die Daten der Variablen in den Cache schreiben. Diese Methode ist jedoch sehr unpraktisch, da wir die gesamte Ausgabe in eine Variable schreiben müssen, was tatsächlich problematischer ist. Sie erfordert viele String-Verbindungen und der Code ist schwierig zu warten. Natürlich ist ein einfacher Cache am besten. Nehmen Sie diesen Ansatz. Aber keine Sorge, die leistungsstarke PEAR ist nicht so geistig zurückgeblieben, daher bietet sie auch eine andere Möglichkeit, nämlich den Puffer abzurufen und die Variablen herauszunehmen. Das entsprechende Handbuchkapitel finden Sie hier .
<?php
require_once"config.php";
require_once"Cache/Lite/Output.php";
//Beachten Sie, dass die erforderlichen Dateien hier unterschiedlich sind.
$options=array(
'cacheDir'=> WEB_DIR."/cache/",
'lifeTime'=>10,//10 Sekunden Ablaufzeit
'pearErrorMode'=>CACHE_LITE_ERROR_DIE
);
$cache=newCache_Lite_Output($options);
$cache_id='obcache';
if(!($cache->start($cache_id))){
//Wenn nicht vorhanden, erstellen Sie einen Cache. Wenn vorhanden, gibt das Programm den Cache automatisch aus.
?>
Hier können Sie machen, was Sie wollen,
Einschließlich der Ausführung von PHP
Ist es nicht sehr praktisch, dass alle Datenbankabfragen, einschließlich Datenbankabfragen, hier abgeschlossen werden können, sofern PHP dies zulässt?
<?php
$cache->end();//Vergiss das nicht,
//Andernfalls wird der Cache nie erfolgreich erstellt.
//Diese Funktion kommt aus dem Ausgabepuffer
}
?>
Sehen Sie nach, ob sich im Cache-Verzeichnis eine weitere Datei befindet?
Damit ist die Einführung in den Cache abgeschlossen. Hier sind einige Dinge zu beachten:
1. Die ID des Caches muss eindeutig sein und einige Parameter können integriert werden
2. Schreiben Sie am besten einen absoluten Pfad für den Cache-Pfad des Caches.
3. Der Schwerpunkt dieses Abschnitts liegt auf den Kommentaren.
Außerdem können Sie in meiner Einleitung die entsprechende Anleitung zum Löschen des Caches lesen Verwenden Sie das obige Beispiel und fahren Sie fort. Der Cache-Vorgang sollte nicht schwierig sein.