Avant-propos :
Lors du développement de MooPHP, afin de trouver une méthode de mise en cache plus efficace, les deux méthodes de mise en cache les plus couramment utilisées ont été testées.
Méthodes de mise en cache courantes en PHP :
La première consiste à traiter les données qui doivent être mises en cache et à former un fichier pouvant être directement exécuté par PHP. Lorsque vous avez besoin de mettre en cache des données, introduisez-les via l'inclusion et utilisez-les.
Deuxièmement, sérialisez les données requises via la fonction de sérialisation et enregistrez-les directement dans le fichier. Lorsque vous devez utiliser des données mises en cache, lisez le contenu du fichier via la désérialisation et copiez-le dans les variables requises, puis utilisez-le.
Résultats des tests :
Grâce aux tests, nous avons constaté que la deuxième façon de mettre en cache les données via la sérialisation est plus efficace. (Les données sont omises et l'adresse de l'article est fournie en téléchargement à la fin, vous pouvez donc la tester vous-même)
Analyse des raisons :
Lors de la lecture du cache en mode inclusion, PHP doit effectuer plusieurs processus
1. Lisez le fichier
2. Analysez les fichiers inclus
3. Exécution, lors de l'attribution d'une valeur à une variable
et de la lecture du cache à l'aide de sérialisation :
1.Lire les données
2. Désérialiser le contenu des données
3. Attribuer des valeurs aux variables
. D'après la comparaison ci-dessus, il se peut que le temps nécessaire pour analyser le tableau dans le fichier PHP dépasse le temps nécessaire pour désérialiser le tableau. Si vous êtes intéressé, vous pouvez consulter « Recherche sur l'efficacité des performances des fonctions liées au système de fichiers PHP et inclure require » : http://www.ccvita.com/163.html
Code du fichier de test :
Adresse de téléchargement : MooPHP-CacheTest.zip
Adresse originale : http://www.ccvita.com/311.html Les nouveaux résultats de recherche seront mis à jour ici.
CacheTest_IncludeFile.php
de CacheTest_SerializeFile.php
:
Le premier, l'avantage d'inclure la mise en cache : augmente la confidentialité et la sécurité des données, et le contenu mis en cache ne sera pas découvert par le monde extérieur.
Inconvénients : Relativement lent.
Objectif : enregistrer les données dont la connaissance en dehors du système est interdite, telles que les paramètres du système Web ou même les informations MySQL. Deuxièmement, l'avantage de la méthode de sérialisation du cache est qu'elle est plus rapide.
Inconvénients : Si le chemin du fichier du système de cache est exposé, le contenu du cache sera divulgué.
Objectif : Cette méthode peut être utilisée lors de la mise en cache des derniers articles, des articles connexes, etc. lorsque vous ne vous souciez pas des données obtenues en externe.
Remarque:
Lorsque des caches mémoire PHP tels que ea et apc sont installés, la première méthode de lecture du cache via include sera plus rapide que la deuxième méthode de sérialisation du cache. Par conséquent, dans le framework MooPHP, nous mettons en cache les informations non sensibles de la deuxième manière ; les informations sensibles sont mises en cache de la première manière. Pour une introduction à MooPHP, veuillez vous référer à l'article « Introduction au framework MooPHP » (Adresse : http://www.ccvita.com/295.html )