# Windows Cache pour PHP

# 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 opérations de lecture, d'analyse et de compilation ajoutent 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`, tous les utilisateurs qui souhaitent avoir un opcache devraient utiliser l'extension OPcache qui est incluse 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 lorsqu'un montant important de données est stocké dans la session PHP.

- Installation/Configuration
  - Pré-requis
  - Installation
  - Configuration à l'exécution
  - Script de statistiques WinCache
  - WinCache Session Handler
  - WinCache Functions Reroutes
- Fonctions WinCache
  - wincache_fcache_fileinfo — Extrait des informations sur les fichiers mis en cache dans le cache de fichiers
  - wincache_fcache_meminfo — Extrait des informations sur l'utilisation de la mémoire du cache de fichiers.
  - wincache_lock — Acquière un verrou exclusif sur une clé donnée
  - wincache_ocache_fileinfo — Extrait des informations sur les fichiers mis en cache dans le cache opcode
  - wincache_ocache_meminfo — Extrait des informations sur l'utilisation du cache opcode
  - wincache_refresh_if_changed — Actualise les entrées du cache pour les fichiers mis en cache
  - wincache_rplist_fileinfo — Récupère des informations du cache sur un chemin de fichier résolu
  - wincache_rplist_meminfo — Récupère des informations sur l'utilisation de la mémoire par le cache de chemin de fichier résolu
  - wincache_scache_info — Récupère des informations sur des fichiers mis en cache
  - wincache_scache_meminfo — Récupère des informations sur l'utilisation de la mémoire du cache
  - wincache_ucache_add — Ajoute une nouvelle variable au cache utilisateur
  - wincache_ucache_cas — Compare la variable avec son ancienne valeur et lui assigne une nouvelle valeur
  - wincache_ucache_clear — Supprime le contenu d'une entrée du cache utilisateur
  - wincache_ucache_dec — Décrémente la valeur associée à une clé
  - wincache_ucache_delete — Supprime les variables du cache utilisateur
  - wincache_ucache_exists — Vérifie si une variable existe dans le cache utilisateur
  - wincache_ucache_get — Récupère une variable stockée dans le cache utilisateur
  - wincache_ucache_inc — Incrémente la valeur associée à une clé
  - wincache_ucache_info — Récupère des informations sur des données stockées dans le cache utilisateur
  - wincache_ucache_meminfo — Récupère des informations sur l'utilisation mémoire du cache utilisateur
  - wincache_ucache_set — Ajoute une variable au cache utilisateur et écrase la variable si elle existe déjà dans le cache
  - wincache_unlock — Libère un verrou exclusif sur une clé donnée
- Compilation sous Windows
  - Prérequis
  - Compiler et construire
  - Vérifier la construction

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open