J'ai déjà présenté l'installation de pear. Aujourd'hui, je vais vous présenter l'un des nombreux packages bien connus de pear. Si quelque chose n'est pas clair, veuillez rechercher "Tutoriel PEAR" sur le site pour obtenir le didacticiel précédent !
Ce que nous allons présenter aujourd'hui est le package Cache_Lite de PEAR. Les yeux des développeurs Web s'écarquillent lorsqu'ils parlent d'accélération, tout comme les yeux des hommes s'écarquillent lorsqu'ils voient une beauté époustouflante. Par conséquent, la première chose que je souhaite présenter ici est le package Cache_lite de PEAR. , vous pouvez utiliser ce package pour mettre en cache n'importe quelle partie de la page Web en fonction de vos besoins, améliorant ainsi considérablement la génération de page et la vitesse de chargement !
Tout d'abord, allez sur Pear's List Packages pour télécharger le package d'installation Cache_Lite Lors de la rédaction de ce tutoriel, la version stable est 1.7.2, nous téléchargeons donc cette version, la décompressons après le téléchargement, puis plaçons le fichier dans le répertoire racine de PEAR ( La manière d'organiser le répertoire de fichiers sera présentée plus tard), puis nous passons au chapitre correspondant du manuel pour voir comment l'utiliser. Vous pouvez d'abord jeter un œil à l'introduction sur les packages. Il n'y a pas de préliminaires ici et nous passerons directement au sujet. Ce qui suit est un exemple de Cache_Lite::get(). Commençons par cet exemple. J'ai ajouté des commentaires chinois à l'exemple.
require_once "Cache/Lite.php";//C'est l'adresse relative à PEAR Après avoir trouvé le fichier Lite.php dans le package que vous venez de télécharger, vous devriez savoir comment déployer ce dossier !
$options=tableau(
'cacheDir'=>'/tmp/',//C'est le chemin du Cache, il est préférable d'utiliser un chemin absolu, qui sera expliqué dans notre exemple
'lifeTime'=>7200, //Délai d'expiration du cache en secondes
'pearErrorMode'=>CACHE_LITE_ERROR_DIE//Mode de rapport d'erreur
);
$cache=newCache_Lite($options);//Créer un cache après avoir défini les paramètres
if($data=$cache->get('id_of_the_page')){//Si le cache avec id=id_of_the_page existe, renvoie directement les données mises en cache
// Cache atteint !
// Le contenu est dans $data
// (...)
}else{//Si le cache n'existe pas, générer un cache
// Aucun cache valide trouvé (vous devez créer et sauvegarder la page)
// (...)
}
Après avoir lu l'exemple ci-dessus, trouvez-vous qu'il est très simple ? En fait, la clé de la mise en cache n'est pas de savoir comment générer et supprimer des caches, mais comment équilibrer la relation entre les caches statiques et dynamiques, et comment reconstruire le cache au moment approprié. Permettez-moi de commencer par un exemple pour permettre à tout le monde de réaliser les avantages de la mise en cache ! , veuillez créer un cache de fichiers sous tuteur (le répertoire racine correspondant à l'exemple de notre tutoriel). Pour les systèmes d'exploitation *nix, veuillez définir la propriété sur 0777, puis créez cache.php sous le dossier tuteur, entrez le code suivant
<? php
require_once"config.php";
require_once"Cache/Lite.php";
//Le code suivant sert à calculer le temps d'exécution de la page et n'a rien à voir avec le cache.
fonctionget_microtime()
{
list($usec,$sec)=explode(' ',microtime());
return((float)$usec+(float)$sec);
}
$s=get_microtime();
//Voici les paramètres du cache
$options=tableau(
'cacheDir'=> WEB_DIR."/cache/",
//Veuillez vous rendre sur tuteur (le répertoire racine correspondant aux exemples de notre tutoriel)
//Créer un cache de fichiers,
//*système d'exploitation nix, veuillez définir l'attribut sur 0777
'lifeTime'=>10,//10 secondes de délai d'expiration
'pearErrorMode'=>CACHE_LITE_ERROR_DIE
);
$cache=newCache_Lite($options);
$cache_id='cache'; //l'identifiant doit être unique
//Sinon, cela entrera en conflit avec le cache d'autres personnes.
si($data=$cache->get($cache_id)){
//les données sont le résultat de l'obtention de données, si le cache existe et n'a pas expiré,
//Obtenir les données directement
echo$données;
}autre{
//Sinon on crée un cache
// Ci-dessous, nous utilisons délibérément des boucles pour perdre du temps
tandis que($i<10000000)
$i++;
$data='Heure de création du cache :'.date("Ymd H:i:s");
$data.="<p>Le temps d'exécution sans cache est : ".(get_microtime()-$s)."secondes";
echo$données;
$cache->sauvegarder($données);
}
echo"<p>La page actuelle prend : ".(get_microtime()-$s)."secondes</p>";
?>
Exécutez http://127.0.0.1/tutor/cache.php dans le navigateur, puis voyez si un fichier est généré dans le répertoire cache. Cela semble très satisfaisant, n'est-ce pas ? !
Sur la page Web, nous avons constaté que le premier temps d'exécution prenait environ 1 seconde, et une fois le cache généré, le temps n'était que de 1/1000 de l'original. Je n'ai plus besoin de décrire cette efficacité ! ! En fait, le processus général de l'exemple ci-dessus est le suivant : 1. Établir les paramètres du cache, y compris l'ID du cache. 2. Vérifier si le cache existe en fonction des paramètres et de l'ID. S'il existe, les données du cache sont obtenues dans $data. variable, puis renvoyé en écho, sinon régénérez le cache, enregistrez les résultats de la page dans une variable, puis écrivez les données de la variable dans le cache. Cependant, cette méthode est très peu pratique, car nous devons écrire toute la sortie dans une variable, ce qui est en réalité plus gênant. Elle nécessite beaucoup de connexions de chaînes et le code est difficile à maintenir. Bien sûr, un simple cache est préférable. Adoptez cette approche. Mais ne vous inquiétez pas, le puissant PEAR n'est pas si retardé mentalement, il fournit donc également un autre moyen, qui consiste en fait à obtenir le tampon et à supprimer les variables. Jetons un coup d'œil à cet exemple simple. Le chapitre du manuel correspondant est ici. .
<?php
require_once"config.php";
require_once"Cache/Lite/Output.php";
// Notez que les fichiers requis ici sont différents.
$options=tableau(
'cacheDir'=> WEB_DIR."/cache/",
'lifeTime'=>10,//10 secondes de délai d'expiration
'pearErrorMode'=>CACHE_LITE_ERROR_DIE
);
$cache=newCache_Lite_Output($options);
$cache_id='obcache';
if(!($cache->start($cache_id))){
// S'il n'existe pas, créez un cache. S'il existe, le programme affichera automatiquement le cache.
?>
Tu peux faire ce que tu veux ici,
Y compris l'exécution de php
N'est-il pas très pratique que toutes les requêtes de base de données, y compris les requêtes de base de données, puissent être effectuées ici tant que PHP le permet ?
<?php
$cache->end();//N'oubliez pas ça,
//Sinon, le cache ne sera jamais créé avec succès.
//Cette fonction sort du tampon de sortie
}
?>
Aller voir s'il y a un autre fichier dans le répertoire cache ?
Ceci conclut l'introduction au cache. Voici quelques points à noter :
1. L'ID du cache doit être unique, et certains paramètres peuvent être intégrés
2. Il est préférable d'écrire un chemin absolu pour le chemin du cache.
3. Cette section se concentre sur les commentaires.Veuillez lire attentivement les commentaires.De
plus, à travers mon introduction, vous pouvez lire le manuel correspondant sur la façon de supprimer le cache.L'exemple ci-dessus est juste pour inspirer les autres. utilisez l'exemple ci-dessus, continuez L'opération de cache ne devrait pas être difficile.