Cet article explore les techniques de mise en cache PHP courantes: Zend Opcache, expire les en-têtes et la mise en cache de requête MySQL. Nous allons plonger dans d'autres stratégies dans un article ultérieur.
Avantages clés:
Comprendre le cycle de vie de la demande PHP:
Avant de plonger dans la mise en cache, passons en revue le processus de demande PHP:
Les techniques de mise en cache optimisent les performances en contournant les étapes 2 à 4, minimisant la consommation de ressources et améliorant les temps de réponse.
Zend Opcache:
Zend Opcache est un amplificateur de performance facilement disponible pour PHP 5.5 et plus tard. Vérifiez l'installation à l'aide de php --version
(vérifiez "Zend Opcache") ou phpinfo()
.
Activation d'Opcache:
Modifiez votre fichier php.ini
, non comment opcache.enable=1
et redémarrez votre service PHP.
Pour les versions PHP avant 5.5, installez à l'aide de PECL: pecl install zendopcache-beta
.
Configuration opcache (php.ini
ou /etc/php5/mods-available/opcache.ini
):
Paramètres de clé:
opcache.memory_consumption
: taille de mémoire partagée (MB). Ajuster en fonction des ressources du serveur et des besoins d'application. opcache.interned_strings_buffer
: mémoire pour les chaînes internées (MB). opcache.max_accelerated_files
: Nombre maximum de fichiers mis en cache. opcache.revalidate_freq
: fréquence (secondes) pour vérifier les modifications de fichiers (0 pour toujours la vérification, idéale pour le développement). opcache.max_file_size
: exclure les fichiers volumineux de la mise en cache (octets). opcache.fast_shutdown
: accélère les déconstruit (réglé sur 1). utiliser composer require amnuts/opcache-gui
et son index.php
pour surveiller l'état et les performances d'Opcache.
expire les en-têtes (apache):
Le module Apache mod_expires
permet la mise en cache du navigateur des actifs statiques. L'activer en utilisant:
sudo a2enmod expires sudo service apache2 restart
Configurer les règles d'expiration dans votre configuration d'hôte virtuel Apache:
<IfModule mod_expires.c> ExpiresActive On ExpiresDefault "access plus 1 day" ExpiresByType image/png "access plus 10 days" ExpiresByType text/css "access plus 25 days" </IfModule>
(Consulter la documentation Nginx pour la configuration de Nginx.)
MySQL Query Caching:
Pour les applications lourdes en lecture, le cache de requête de MySQL peut améliorer considérablement les performances. Vérifiez votre version MySQL (mysql --version
). Pour les versions 5.6.8 et plus tard, activez-la dans my.cnf
(par exemple, /etc/mysql/my.cnf
):
# * Query Cache Configuration query_cache_type = ON query_cache_min_res_unit = 4096 query_cache_limit = 1M query_cache_size = 16M query_cache_wlock_invalidate = OFF
Ajuster les paramètres en fonction de la capacité et de la fréquence de mise à jour de votre serveur. Surveillez l'utilisation du cache avec SHOW STATUS LIKE "qcache%";
.
Considérations de cache de requête:
SELECT
requêtes. Conclusion:
Cet article a introduit des stratégies de mise en cache PHP fondamentales. La partie 2 explorera des techniques avancées comme le vernis, les bibliothèques de mise en cache de vernis, Memcached et PHP.
Questions fréquemment posées (FAQ): (Celles-ci sont déjà répondues dans le texte principal, donc pas besoin de les répéter ici.)
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!