Le serveur HTTP Apache fournit une gamme de fonctionnalités de mise en cache conçues pour améliorer les performances du serveur de diverses manières.
Cache HTTP RFC2616 à trois états (Apprentissage recommandé : Serveur Apache)
Mod_cache et son module fournisseur mod_cache_disk fournissent Mise en cache intelligente compatible HTTP. Le contenu lui-même est stocké dans le cache et mod_cache est conçu pour respecter tous les différents en-têtes et options HTTP qui contrôlent la mise en cache du contenu.
mod_cache cible à la fois les configurations de cache simples et complexes dans lesquelles vous pouvez gérer du contenu proxy, du contenu local dynamique ou lorsque vous devez accélérer l'accès aux fichiers locaux sur un disque potentiellement lent.
Cache d'objets partagés clé/valeur à double état
L'API de cache d'objets partagés (socache) et son module fournisseur fournissent une mise en cache d'objets partagés clé/valeur à l'échelle du serveur. Ces modules sont conçus pour mettre en cache des données de bas niveau telles que les sessions SSL et les informations d'authentification.
Le backend permet de stocker les données à l'échelle du serveur dans la mémoire partagée, ou au sein du centre de données dans un cache tel que memcache ou distcache.
Mise en cache de fichiers spécialisée
mod_file_cache offre la possibilité de précharger des fichiers en mémoire au démarrage du serveur, et peut améliorer les temps d'accès et enregistrer la gestion des fichiers fréquemment consultés car il y a pas besoin d'aller sur le disque à chaque demande.
Cache HTTP RFC2616 à trois états
Le protocole HTTP contient une prise en charge intégrée du mécanisme de mise en cache en ligne décrit dans la section 13 de la RFC2616, et le module mod_cache peut être utilisé pour profiter de cette fonctionnalité.
Contrairement à un simple cache clé/valeur à deux états, où le contenu disparaît complètement lorsqu'il n'est plus récent, les caches HTTP incluent des mécanismes pour conserver le contenu obsolète et demander au serveur d'origine si ce contenu obsolète a changé, sinon Puis actualisez à nouveau.
Les entrées dans le cache HTTP existent dans l'un des trois états suivants :
Frais
Si le contenu est suffisamment nouveau ( que sa vie fraîche est plus jeune), il est considéré comme frais. La mise en cache HTTP peut diffuser du nouveau contenu gratuitement sans effectuer d'appels au serveur d'origine.
Périmé
Le contenu est considéré comme périmé s'il est trop ancien (avant son cycle de vie de fraîcheur). Les caches HTTP doivent contacter le serveur d'origine et vérifier si le contenu est encore récent avant de proposer du contenu obsolète au client.
Si le serveur d'origine est toujours invalide, le serveur d'origine répondra avec le contenu de remplacement, ou idéalement le serveur d'origine répondra avec un code pour indiquer au cache que le contenu est encore nouveau sans avoir à générer ou envoyer le contenu à nouveau. Le contenu redevient nouveau et le cycle continue.
Le protocole HTTP permet aux caches de servir des données obsolètes dans certaines situations, par exemple lorsqu'une erreur 5xx se produit lors de la tentative d'actualisation des données à l'aide du serveur d'origine, ou qu'une autre requête est déjà en train d'actualiser une entrée donnée. . Dans ces cas, un en-tête d’avertissement est ajouté à la réponse.
InExistant
Si le cache est plein, conserve la possibilité de supprimer le contenu du cache pour libérer de l'espace. Le contenu peut être supprimé à tout moment et peut être ancien ou nouveau. L'outil htcacheclean peut être exécuté une seule fois ou déployé en tant que démon pour maintenir la taille du cache dans une taille donnée ou un nombre donné d'inodes. L'outil tentera de supprimer l'ancien contenu avant d'essayer de supprimer le nouveau contenu.
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!