Cet article présente principalement les techniques de mise en cache PHP via le stockage de fichiers. Les amis intéressés peuvent s'y référer. J'espère qu'il sera utile à tout le monde.
L'exemple de cet article décrit la méthode de mise en cache PHP basée sur le stockage de fichiers, comme suit :
Lorsque certains enregistrements de données de base de données sont volumineux mais que le serveur est limité, une requête MySQL peut être plusieurs Cent millisecondes. Une page simple contient généralement plus d'une douzaine de requêtes. À ce stade, le chargement de la page prendra plusieurs secondes. Si la concurrence est élevée, le serveur sera essentiellement paralysé, ce qui entraînera une page qui ne pourra pas être chargée. Depuis longtemps, nous pouvons utiliser la mise en cache de fichiers pour soulager la pression sur MySQL. Voici un exemple d'utilisation.
<?php //页面业务逻辑处理,获得结果 $objPage = new Page_IndexModel($arrParams); //一系列的业务逻辑放在了objPage中,调用process方法获得结果集 $arrResult = $objPage->process(); //获得结果后smarty赋值 $smarty->assign($arrResult); //输出模板 $smarty->display(); ?>
Maintenant, nous utilisons la mise en cache des fichiers pour ignorer l'étape de traitement commercial de la page
<?php $cachFile = './index.php'; //缓存文件存在且时间不超过一小时,则直接使用缓存的结果集,不在进行任何的MySQL查询了 if(file_exists($cacheFile) && time()-filemtime($cachFile) < 3600) { //使用缓存中的结果 $arrResult = include($cachFile); } else { $objPage = new Page_IndexModel($arrParams); $arrResult = $objPage->process(); $strContent = "<?php \n return ".var_export($arrResult, true)."\n;"; //将结果集缓存 file_put_contents($cachFile, $strContent); } //获得结果后smarty赋值 $smarty->assign($arrResult); //输出模板 $smarty->display();
Résumé : Ce qui précède représente l'intégralité du contenu de cet article, j'espère cela peut être utile à l’étude de chacun.
Recommandations associées :
À propos de l'encapsulation et de l'héritage des classes PHP
Compétences en optimisation PHP
Fonction php pour obtenir l'anniversaire sur la carte d'identité et vérifier si vous êtes adulte
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!