Un cache Web se trouve entre le client et le « serveur d'origine », qui conserve une copie de tout le contenu visible. Si un client demande du contenu stocké dans le cache, le contenu peut être obtenu directement à partir du cache sans communiquer avec le serveur. (Apprentissage recommandé : nginx use )
De cette façon, parce que le cache Web est "plus proche" du client, il peut améliorer les performances de réponse et l'utiliser plus efficacement et appliquer les applications plus efficacement, car le serveur n'a pas besoin de générer la page pour chaque requête. Entre le navigateur et le serveur d'applications, il existe plusieurs caches « potentiels », tels que : le cache du navigateur client, le cache intermédiaire, le réseau de diffusion de contenu (CDN) et l'équilibrage de charge et le proxy inverse sur le serveur. La mise en cache, uniquement au niveau du proxy inverse et de l’équilibrage de charge, peut être d’une grande aide pour améliorer les performances. Par exemple, l'année dernière, j'ai repris une tâche qui consistait à optimiser les performances d'un site Web à chargement lent. La première chose qui a attiré mon attention était que le site Web prenait presque plus d'une seconde pour générer la page d'accueil. Après une série de débogages, j'ai découvert que la raison du chargement lent était que la page était marquée comme non mise en cache, c'est-à-dire qu'elle était générée dynamiquement en réponse à chaque demande. Étant donné que la page elle-même ne nécessite pas de modifications fréquentes et n'implique pas de personnalisation, il n'est en fait pas nécessaire de le faire. Afin de vérifier ma conclusion, j'ai marqué la page à mettre en cache toutes les 5 secondes Rien qu'en effectuant cet ajustement, je peux clairement ressentir l'amélioration des performances. Le temps nécessaire pour atteindre le premier octet est réduit à quelques millisecondes et la page se charge beaucoup plus rapidement. Les réseaux de diffusion de contenu (CDN) à grande échelle ne sont pas les seuls à pouvoir bénéficier de la mise en cache : la mise en cache peut également améliorer les performances des équilibreurs de charge, des proxys inverses et des services Web frontaux des serveurs d'applications. Grâce à l'exemple ci-dessus, nous voyons que la mise en cache des résultats du contenu peut utiliser le serveur d'applications plus efficacement car il n'est pas nécessaire d'effectuer un travail de génération de page répété à chaque fois. En outre, la mise en cache Web peut également être utilisée pour améliorer la fiabilité du site Web. Lorsque le serveur est en panne ou occupé, au lieu de renvoyer un message d'erreur à l'utilisateur, il est préférable de configurer NGINX pour envoyer le contenu mis en cache à l'utilisateur. Cela signifie que le site Web peut conserver certaines, voire toutes les fonctions, en cas de panne du serveur d'applications ou de la base de données.Comment installer et configurer le cache de base
Nous n'avons besoin que de deux commandes pour activer le cache de base : proxy_cache_path et proxy_cache. proxy_cache_path est utilisé pour définir le chemin et la configuration du cache, et proxy_cache est utilisé pour activer la mise en cache.proxy_cache_path/path/to/cache levels=1:2 keys_zone=my_cache:10m max_size=10g inactive=60m use_temp_path=off; server { ... location / { proxy_cachemy_cache; proxy_pass http://my_upstream; } }
Enfin, la commande proxy_cache démarre la mise en cache du contenu dont l'URL correspond à la partie emplacement (dans ce cas, `/`). Vous pouvez également ajouter la commande proxy_cache à la section serveur, qui appliquera le cache à tous les services dont les emplacements ne spécifient pas leur propre commande proxy_cache.
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!