Maison  >  Article  >  développement back-end  >  Technologie de grand cache PHP9

Technologie de grand cache PHP9

PHPz
PHPzoriginal
2017-04-04 15:22:491283parcourir

1. Page complèteStatiqueCache

C'est-à-dire que toutes les pages sont générées dans des pages statiques HTML. les utilisateurs visitent Accédez directement aux pages statiques 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_contents();****Écrire le contenu mis en cache dans un fichier html*****Ob_end_clean ();

2. Mise en cache partielle de la page

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 ensemble. ; il peut être implémenté en utilisant une méthode similaire à ob_get_contents, ou vous pouvez 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 dans les centres commerciaux

3. Mise en cache des données

Comme son nom l'indique, c'est un moyen de

mise en cache ; data ;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, les informations de ce fichier seront directement ajustées en premier, sans avoir à accéder à la base de données pour interroger ; en fait, le fichier mis en cache est un tableau php et similaire

Ecm

allCette méthode est utilisée dans le système du centre commercial 4. Cache de requête

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 dans un fichier en fonction de l'instruction de requête ; rencontré la prochaine fois, les données seront directement récupé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 basé sur l'instruction de requête pour établir un identifiant unique

Mise en cache basée sur le temps ; changes

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 le jugement de changement d'heure ; heure de validité, le même accès récupérera d'abord le contenu du fichier mis en cache, mais si le cache dépasse la durée de cache définie, nous devons réobtenir les données de la base de données et produire le dernier fichier cache, par exemple, je définis le ; la page d'accueil de notre centre commercial doit être mise à jour

une fois toutes les 2 heures ;

5. Mise en cache en fonction des changements de contenu Ceci n'est pas une technologie de mise en cache indépendante et doit être utilisée en combinaison ; c'est-à-dire que lorsque le contenu de la base de données est modifié, le fichier cache est mis à jour immédiatement

Par exemple, une personne Dans un centre commercial avec beaucoup de trafic et beaucoup de produits, la table des produits doit être relativement grande, et la pression sur ce tableau est également forte ; on peut mettre en cache la page d'affichage du produit ;

Lorsque le commerçant modifie les informations du produit en arrière-plan, cliquez sur enregistrer, et nous mettrons à jour le fichier cache en même temps ; , lorsque l'acheteur accède à ces informations sur le produit, il accède en fait à une page statique sans avoir à accéder à la base de données

Imaginez si la page produit sans mise en cache, vous devrez vérifier la base de données à chaque fois que vous accéderez à un produit ; Si 100 000 personnes parcourent le produit en ligne, le serveur sera soumis à une forte pression

6. Mise en cache en mémoire

mention À ce stade, la première chose à laquelle vous pourriez penser est

; Memcached

; memcached est un serveur de cache mémoire distribué 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 de la mémoire ; la méthode la plus couramment utilisée est la

clé. –>méthode valeur;

$memcachehost = '192.168.6.191';

$memcacheport = 11211;

$memcachel

if

e = 60;

$memcache = new Memcache;

$memcache->connect($memcachehost,$memcacheport) ou mourir ("Impossible de se connecter") ;

$memcache->

set

('key','cached content');

$get = $memcache->get($key); //Obtenir des informations ?> ;

7. module de cache ApacheUne fois

Apache installé, sa mise en cache n'est pas autorisée. 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, php APCextension de cache

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 = 1000M

post_max_size = 1000M

max_execution_time = 600 ; pour exécuter Valeur (secondes), par défaut 30 secondes

max_input_time = 600 ; Temps maximum requis pour que chaque page PHP reçoive des données, par défaut 60

memory_limit = 128M Chaque page PHP consomme un maximum de mémoire, par défaut 8M

9. Cache d'opcode

Nous savons que le processus d'exécution de php peut être illustré dans la figure suivante :

Technologie de grand cache PHP9


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 donc renvoyé, pour le même ; php, le code Opcode peut être mis en cache lors de son exécution une fois. La prochaine fois que vous exécuterez cette page, vous trouverez directement le code Opcode mis en cache et exécuterez directement la dernière étape, sans avoir besoin d'étapes intermédiaires.

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

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