Maison > Article > développement back-end > Tutoriel PHP : Résumé des 9 principales technologies de mise en cache en PHP
[Introduction] 1. La mise en cache statique pleine page signifie que 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 courante consiste à utiliser la mise en cache de sortie : Ob
1 Mise en cache statique pleine page
, c'est-à-dire la page Tout HTML. des pages statiques sont générées, qui sont des pages statiques auxquelles les utilisateurs accèdent directement lors de leur accès, 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 courante consiste à utiliser la mise en cache de sortie : Ob_start()******code à exécuter************$content = Ob_get_con
2. La mise en cache partielle de la page
met en cache statique 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. display ; vous pouvez utiliser une méthode similaire à ob_get_contents, ou utiliser une stratégie de mise en cache de fragments de page telle 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 par exemple, sur les pages de produits du centre commercial ;
3. Comme son nom l'indique,
est un moyen de mettre en cache des données ; Les informations sur le produit dans le centre commercial sont Lorsque vous utilisez l'ID du produit pour demander, vous obtiendrez des données comprenant des informations sur le magasin, des informations sur le produit, etc. À ce stade, vous pouvez mettre en cache ces données dans un fichier php. Le nom du fichier contient l'ID du produit. créer un identifiant unique ; la prochaine fois que quelqu'un voudra le voir. Lors de l'achat de ce produit, ajustez d'abord directement les informations dans 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 ; est utilisé dans le système du centre commercial Ecmall ;
4. Mise en cache des requêtes
En fait, c'est la même idée que la mise en cache des données, qui consiste à mettre en cache les données obtenues par la requête en fonction de l'instruction de requête ; dans un fichier. La prochaine fois que vous rencontrerez la même requête, vous démarrerez directement à partir de ce fichier. Les données sont ajustées à l'intérieur et la base de données ne sera pas vérifiée, mais le nom du fichier cache ici devra peut-être être basé sur l'instruction de requête. pour établir un identifiant unique ;
Mise en cache basée sur les changements d'heure. En fait, il ne s'agit pas d'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 un jugement de changement d'heure ; temps de validité pour le fichier mis en cache. Pendant cette période de validité, le même accès récupérera d'abord le contenu du fichier mis en cache, mais s'il dépasse le temps défini, le temps de mise en cache nécessite de réobtenir les données de la base de données et de produire le dernier fichier cache pour ; 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 changements de contenu
Ce n'est pas une technologie de mise en cache indépendante et doit être utilisée en combinaison ; lorsque le contenu de la base de données est modifié, le fichier cache est mis à jour immédiatement ;
Par exemple, dans un centre commercial avec un flux important de personnes et de nombreux produits, la table des produits doit être relativement grande. La pression est également relativement forte. ; nous pouvons mettre en cache la page d'affichage du produit ;
Lorsque le commerçant modifie les informations sur le produit en arrière-plan, cliquez sur Enregistrer, et nous mettrons à jour le fichier cache en même temps, puis, lorsque l'acheteur accédera aux informations sur le produit, vous êtes. accéder en fait à une page statique et n'avoir pas besoin d'accéder à la base de données ;
Imaginez, si la page du produit n'est pas mise en cache, alors chaque fois que vous accédez à un produit, vous devez accéder à la base de données pour la vérifier s'il y en a. Si 100 000 personnes parcourent des produits en ligne, le serveur sera soumis à une forte pression ;
6. Mémoire cache
Quand on parle de cela, la première chose à laquelle tout le monde peut penser est Memcached est un haut- ; serveur de cache à mémoire distribuée aux performances élevées. 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 extraites directement de la mémoire ; la méthode la plus couramment utilisée est la méthode clé->valeur ; php
$memcachehost = '192.168.6.191'; $memcacheport = 11211; $memcachelife = 60; $memcache = new Memcache; $memcache->connect($memcachehost,$memcacheport) or die ("Could not connect"); $memcache->set('key','缓存的内容'); $get = $memcache->get($key); //获取信息?>
7. Une fois le module de cache 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. Lors de l'installation d'Apache : ./configure –enable-cache –enable-disk-cache –enable-mem-cache
8. Extension de cache php APC Php a une extension de cache APC, qui est php_apc.dll sous Windows. chargez ce premier module, puis configurez-le 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 = 1000M post_max_size = 1000M max_execution_time = 600 ; 每个PHP页面运行的最大时间值(秒),默认30秒 max_input_time = 600 ; 每个PHP页面接收数据所需的最大时间,默认60 memory_limit = 128M ; 每个PHP页面所吃掉的最大内存,默认8M
9. Cache d'opcode Nous savons que le processus d'exécution de php peut être illustré dans la figure suivante :
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 le même fichier PHP, son code Opcode peut être mis en cache la première fois ; il est exécuté, et la prochaine fois que la page sera exécutée, il trouvera directement le code opcode dans le cache et exécutera directement la dernière étape, sans avoir besoin d'étapes intermédiaires. Les plus connus sont XCache, Turck MM Cache, PHP Accelerator, etc. tents();****Écrivez le contenu mis en cache dans le fichier html*****Ob_end_clean();
Ce qui précède est le contenu du tutoriel PHP : Résumé des 9 principales mises en cache technologies en PHP, et plus encore Pour le contenu associé, veuillez faire attention au site Web PHP chinois (www.php.cn) !