Maison  >  Article  >  développement back-end  >  Quelles sont les technologies de mise en cache en PHP ?

Quelles sont les technologies de mise en cache en PHP ?

一个新手
一个新手original
2017-09-06 17:45:107655parcourir

Les technologies de mise en cache PHP incluent : 1. Mise en cache statique de page complète ; 2. Mise en cache de page partielle ; 3. Mise en cache de données 4. Mise en cache basée sur les modifications de contenu ; module de cache ; 8. extension de cache php APC ; 9. cache d'opcodes.

Quelles sont les technologies de mise en cache en PHP ?

Le cache PHP comprend le cache de compilation PHP et le cache de données PHP. PHP est un langage interprété qui se compile et s'exécute en même temps. L'avantage de ce mode de fonctionnement est que la modification du programme est très pratique, mais l'efficacité de fonctionnement est très faible.

Le cache de compilation PHP a été amélioré pour faire face à cette situation, afin que le langage PHP puisse mettre en cache les résultats de compilation du programme tant qu'il est exécuté une fois.

9 technologies de mise en cache majeures en PHP

1. Mise en cache statique pleine page

C'est-à-dire. en d'autres termes, toutes les pages sont générées dans des pages statiques HTML. Les pages statiques sont directement accessibles lors de la visite des utilisateurs, sans passer par le processus d'analyse du serveur PHP. Cette méthode est plus courante dans les systèmes CMS, tels que dedecms ;

Une méthode d'implémentation plus courante consiste à utiliser la mise en cache de sortie :

Ob_start()****** à exécuter Code * ******$content = Ob_get_contents();****Écrivez le contenu mis en cache dans le fichier html*****Ob_end_clean();

2.

Cette méthode consiste à mettre en cache statiquement les parties d'une page qui ne changent pas fréquemment, tandis que les blocs qui changent fréquemment ne sont pas mis en cache et sont finalement assemblés pour être affichés, elle peut être implémentée à l'aide d'une méthode ; similaire à ob_get_contents, ou Vous pouvez utiliser des stratégies de mise en cache de fragments de page telles que ESI pour mettre en cache des fragments relativement statiques dans des pages dynamiques (technologie ESI, s'il vous plaît Baidu, non détaillée ici).

Cette méthode peut être utilisée pour les pages de produits dans les centres commerciaux

3. Mise en cache des données

Comme son nom l'indique, c'est un moyen de. mise en cache des données. ;Par exemple, lorsqu'une certaine information sur le produit dans le centre commercial est demandée à l'aide de l'ID du produit, des données comprenant des informations sur le magasin, des informations sur le produit et d'autres données seront obtenues. À ce moment, ces données peuvent être mises en cache dans un fichier php, et le nom du fichier contient l'identifiant du produit pour créer un identifiant unique ; la prochaine fois que quelqu'un voudra voir ce produit, il ajustera d'abord directement les informations de ce fichier sans interroger la base de données. En fait, ce qui est mis en cache dans le fichier cache est ; un tableau php ou similaire

Cette méthode est utilisée dans le système du centre commercial Ecmall

4. la même idée que la mise en cache des données, qui est une mise en cache basée sur des instructions de requête. ;Mettez en cache les données obtenues à partir de la requête dans un fichier, la prochaine fois que la même requête sera rencontrée, les données seront directement transférées à partir de ce fichier sans vérifier la base de données ; mais le nom du fichier cache ici devra peut-être être interrogé comme point de base pour établir un identifiant unique

Mise en cache basée sur les changements d'heure

En fait, ce n'est pas une véritable méthode de mise en cache ; les technologies de mise en cache 2, 3 et 4 ci-dessus utilisent généralement le jugement de changement de temps ; c'est-à-dire que vous devez définir une heure valide pour le fichier mis en cache. Dans ce délai valide, le même accès récupérera d'abord le contenu du fichier mis en cache. , si la durée de cache définie est dépassée, les données doivent être récupérées de la base de données et produites. Le dernier fichier cache par exemple, j'ai configuré la page d'accueil de notre centre commercial pour qu'elle soit mise à jour toutes les 2 heures ; 🎜>5. Cache en fonction des modifications du contenu

Ceci n'est pas indépendant non plus. La technologie de mise en cache doit être utilisée en combinaison ; c'est-à-dire que lorsque le contenu de la base de données est modifié, le fichier de cache est immédiatement mis à jour ; 🎜>

Par exemple, dans un centre commercial avec un flux important de personnes et de nombreux produits, la table des produits doit être relativement grande, et la pression sur cette table sera également relativement lourde, on peut mettre en cache la page d'affichage des produits ; ;

Lorsque le commerçant modifie les informations sur le produit en arrière-plan, cliquez sur Enregistrer, et nous mettrons à jour le fichier cache par la même occasion, l'acheteur accède aux informations sur le produit. Lorsque vous accédez à une page statique, vous le faites ; pas besoin d'accéder à la base de données ;

Imaginez, si la page produit n'est pas mise en cache, alors chaque fois que vous accédez à un produit, vous devez vous rendre dans la base de données pour le vérifier s'il y en a 10 avec des dizaines de milliers. des personnes parcourant des produits en ligne, le serveur sera soumis à une forte pression

6. Mise en cache en mémoire

Quand on parle de cela, la première chose à laquelle vous pourriez penser ; Memcached est un serveur de cache de mémoire distribuée hautes performances. L'objectif général de l'utilisation est de réduire le nombre d'accès à la base de données en mettant en cache les résultats des requêtes de base de données afin d'augmenter la vitesse et l'évolutivité des applications Web dynamiques.

Il met en cache les informations qui doivent être mises en cache dans la mémoire système. Lorsque les informations doivent être obtenues, elles sont récupérées directement à partir de la mémoire ; la méthode la plus couramment utilisée est la méthode clé–>valeur ;

7. Le module de cache Apache

Une fois Apache installé, il n'est pas autorisé à être mis en cache. Si un cache externe ou un serveur Squid nécessite une accélération Web, il doit être défini dans httpd.conf. Bien entendu, le principe est que le module mod_cache doit être activé lors de l'installation d'Apache.

<?php
$memcachehost = &#39;192.168.6.191&#39;;
$memcacheport = 11211;
$memcachelife = 60;
$memcache = new Memcache;
$memcache->connect($memcachehost,$memcacheport) or die ("Could not connect");
$memcache->set(&#39;key&#39;,&#39;缓存的内容&#39;);
$get = $memcache->get($key); //获取信息
?>

Lors de l'installation d'Apache : ./configure –enable-cache –enable-disk-cache –enable-mem-cache

8.

Php a une extension de cache APC, qui est php_apc.dll sous Windows Vous devez d'abord charger ce module, puis le configurer dans php.ini :

[apc]
. extension= php_apc.dll
apc.rfc1867 = on
upload_max_filesize = 100M
post_max_size = 100M
apc.max_file_size = 200M
upload_max_filesize = 100 0M
post_max_size = 1000M
max_execution_time = 600; La valeur du temps maximum (en secondes) pour que chaque page PHP s'exécute, la valeur par défaut est de 30 secondes
max_input_time = 600; Le temps maximum requis pour que chaque page PHP reçoive des données, la valeur par défaut est de 60
memory_limit = 128M;La mémoire consommée par chaque page PHP La mémoire maximale perdue, la valeur par défaut est de 8M

Cache d'opcode

Nous savons que le processus d'exécution de. php peut être affiché dans la figure ci-dessous

Quelles sont les technologies de mise en cache en PHP ?

D'abord, le code php est analysé en jetons, puis compilé en code Opcode, et enfin le code Opcode est exécuté et le résultat est renvoyé ; donc, pour un même fichier php, son Opcode peut être mis en cache lors de la première exécution du code, la prochaine fois que vous exécuterez cette page, vous retrouverez directement le code de l'opcode mis en cache et exécuterez directement la dernière étape, sans avoir besoin de le faire. étapes intermédiaires.

Les plus connus sont XCache, Turck MM Cache, PHP Accelerator, etc.

Pour plus de connaissances connexes, veuillez visiter le Site Web PHP chinois ! !

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Article précédent:L'utilisation d'opcache en phpArticle suivant:L'utilisation d'opcache en php