# Introduction

L'extension Windows Cache pour PHP est un accélérateur PHP qui est utilisé pour augmenter la vitesse des applications PHP sous Windows et Windows Server. Une fois l'extension Windows Cache activée et chargée par le moteur PHP, les applications PHP peuvent tirer parti des fonctionnalités sans aucune modification de code.

L'extension Windows Cache comprend 5 types de caches. Ce qui suit décrit le but de chaque type de cache et les avantages qu'il procure.

- Cache d'Opcode PHP - PHP est un moteur de traitement de script, qui lit un flux d'entrée de données qui contient du texte et / ou des instructions PHP et produit un autre flux de données, le plus souvent au format HTML. Cela signifie que sur un serveur Web le moteur PHP lit, analyse, compile et exécute un script PHP à chaque fois qu'il est demandé par un client Web. Les operations de lecture, d'analyse et de compilation ajoute une charge supplémentaire sur le processeur (CPU) et sur le système de fichiers, ce qui affecte la performance globale d'une application web PHP. Le cache de bytecode PHP (Opcode) est utilisé pour stocker le bytecode du script compilé dans la mémoire partagée pour qu'il puisse être ré-utilisé par le moteur PHP lors des exécutions suivantes du même script.

  Support pour le cache d'Opcode a été retiré dans `Wincache 2.0.0`, tout les utilisateurs qui souhaitent avoir un opcache devraient utiliser l'extension OPcache qui est inclus avec PHP.

- Cache de fichiers - Même avec le cache d'opcode PHP activé, le moteur PHP doit accèder aux fichiers de script sur un système de fichiers. Lorsque les scripts PHP sont stockés sur le système de fichiers d'un ordinateur distant, les opérations sur ces fichiers introduisent une surcharge importante des performances. L'extension de Cache Windows pour PHP inclut un cache de fichier qui est utilisé pour stocker le contenu des fichiers de scripts PHP dans la mémoire partagée, ce qui réduit le nombre d'opérations effectuées par le moteur PHP sur le système de fichiers.

- Cache de résolution des chemins de fichier - Les scripts PHP incluent ou fonctionnent très souvent avec des fichiers en utilisant des chemins relatifs. Chaque chemin de fichier doit être normalisé en un chemin de fichier absolu par le moteur PHP. Quand une application PHP utilise de nombreux fichiers PHP et y accède par des chemins relatifs, l'opération de résolution des chemins peut impacter négativement les performances de l'application. L'extension de Cache Windows pour PHP fournit un cache de résolution des chemins de fichier, qui est utilisé pour stocker les correspondances entre les chemins de fichier relatifs et absolus, réduisant ainsi le nombre de résolutions que le moteur PHP devra effectuer.

- Cache utilisateur (disponible depuis la version 1.1.0) - Les scripts PHP peuvent tirer profit du cache de mémoire partagée en utilisant l'API de cache utilisateur. Les objets PHP et les variables peuvent être stockées dans le cache utilisateur et réutilisés lors des requêtes suivantes. Ce cache peut être utilisé pour améliorer les performances des scripts PHP et pour partager les données entre plusieurs processus PHP.

- Gestionnaire de session (disponible depuis la version 1.1.0) - Le gestionnaire de session WinCache peut être utilisé pour stocker les données de session PHP dans le cache de la mémoire partagée. Cela évite des opérations sur le système de fichiers pour la lecture et l'écriture des données de session, ce qui améliore les performances lorsque un montant important de données est stocké dans la session PHP.