Serveur Apache HTTP Version 2.4

Apache > Serveur HTTP > Documentation > Version 2.4 > Modules

# Module Apache mod_cache_disk

Description: | Module de stockage sur disque pour le filtre de mise en cache HTTP.
Statut: | Extension
Identificateur de Module: | cache_disk_module
Fichier Source: | mod_cache_disk.c

### Sommaire

`mod_cache_disk` implémente un gestionnaire de stockage sur disque pour le module `mod_cache`.

Les en-têtes et corps des réponses mises en cache sont stockés séparément sur le disque, dans une structure de répertoires basée sur le condensé md5 de l'URL mise en cache.

Plusieurs réponses au contenu négocié peuvent être stockées en même temps, mais la mise en cache de contenus partiels n'est pas supportée actuellement par ce module.

Les mises à jour atomiques du cache pour les fichiers d'en-tête et de corps peuvent être effectuées sans verrouillage en enregistrant les numéros d'inode et de périphérique du fichier de corps dans le fichier d'en-tête. Ceci implique que les entrées du cache déplacées manuellement dans le cache seront ignorées.

L'utilitaire `htcacheclean` permet de lister et de supprimer les URLs du cache, ou de maintenir le cache en deçà de certaines limites de taille et/ou de nombre d'inodes. L'utilitaire peut être exécuté à la demande, ou automatiquement pour assurer un contrôle continu des tailles des répertoires.

### Note :

`mod_cache` doit être chargé avant `mod_cache_disk` pour que ce dernier puisse fonctionner.

### Note :

Lorsque la plate-forme la supporte, et si elle est activée via la directive `EnableSendfile`, `mod_cache_disk` utilise la fonctionnalité sendfile pour servir les fichiers à partir du cache. Cependant, `mod_cache_disk` ignore la configuration de la directive `EnableSendfile` dans un contexte de répertoire ou de fichier .htaccess, car le module ne dispose pas des définitions correspondantes lorsque la requête est servie depuis le cache.

### Directives

### Traitement des bugs

- Journal des modifications de httpd
- Problèmes connus
- Signaler un bug

### Voir aussi

- `mod_cache`
- `mod_cache_socache`
- Guide de la mise en cache

## Directive CacheDirLength

Description: | Le nombre de caractères des noms des sous-répertoires
Syntaxe: | `CacheDirLength longueur`
Défaut: | `CacheDirLength 2`
Contexte: | configuration du serveur, serveur virtuel
Statut: | Extension
Module: | mod_cache_disk

la directive `CacheDirLength` permet de définir le nombre de caractères que comportera chaque nom de sous-répertoire de la hiérarchie du cache. On peut l'utiliser en conjonction avec `CacheDirLevels` pour déterminer une structure approximative de la hiérarchie de cache.

Une valeur haute pour `CacheDirLength` combinée avec une valeur basse pour `CacheDirLevels` générera une hiérarchie relativement peu profonde, avec un grand nombre de sous-répertoires à chaque niveau.

La valeur du produit `CacheDirLevels` * `CacheDirLength` ne doit pas dépasser 20.

## Directive CacheDirLevels

Description: | Le nombre de niveaux de sous-répertoires que comportera le cache.
Syntaxe: | `CacheDirLevels niveaux`
Défaut: | `CacheDirLevels 2`
Contexte: | configuration du serveur, serveur virtuel
Statut: | Extension
Module: | mod_cache_disk

La directive `CacheDirLevels` permet de définir le nombre de niveaux de sous-répertoires que comportera le cache. Les données du cache seront stokées au niveau correspondant par rapport au répertoire `CacheRoot`.

Une valeur haute pour `CacheDirLevels` combinée avec une valeur basse pour `CacheDirLength` générera une arborescence très développée, avec un petit nombre de sous-répertoires à chaque niveau.

La valeur du produit `CacheDirLevels` * `CacheDirLength` ne doit pas dépasser 20.

## Directive CacheMaxFileSize

Description: | >La taille maximale (en octets) d'un document pour pouvoir être stocké dans le cache
Syntaxe: | `CacheMaxFileSize octets`
Défaut: | `CacheMaxFileSize 1000000`
Contexte: | configuration du serveur, serveur virtuel, répertoire, .htaccess
Statut: | Extension
Module: | mod_cache_disk

La directive `CacheMaxFileSize` permet de définir la taille maximale d'un document, en octets, pour que celui-ci puisse faire l'objet d'un stockage dans le cache.

    CacheMaxFileSize 64000

## Directive CacheMinFileSize

Description: | La taille minimale (en octets) d'un document pour pouvoir être stocké dans le cache
Syntaxe: | `CacheMinFileSize octets`
Défaut: | `CacheMinFileSize 1`
Contexte: | configuration du serveur, serveur virtuel, répertoire, .htaccess
Statut: | Extension
Module: | mod_cache_disk

La directive `CacheMinFileSize` permet de définir la taille minimale d'un document, en octets, pour que celui-ci puisse faire l'objet d'un stockage dans le cache.

    CacheMinFileSize 64

## Directive CacheReadSize

Description: | La quantité minimale (en octets) de données à lire et à mettre en cache avant de les envoyer au client
Syntaxe: | `CacheReadSize octets`
Défaut: | `CacheReadSize 0`
Contexte: | configuration du serveur, serveur virtuel, répertoire, .htaccess
Statut: | Extension
Module: | mod_cache_disk

La directive `CacheReadSize` permet de définir la quantité minimale de données, en octets, à lire depuis le serveur d'arrière-plan avant de les envoyer au client. Avec la valeur par défaut zéro, toute donnée de toutes tailles est envoyée au client dès qu'elle est disponible. Avec une valeur non nulle, le cache disque met en tampon au moins la quantité de données correspondante avant d'envoyer la réponse au client. Les performances peuvent s'en trouver améliorées lorsqu'on met en cache du contenu en provenance d'un mandataire inverse.

Cette directive ne prend effet que lorsque les données sont enregistrées dans le cache, et non lorsque les données sont servies à partir du cache.

    CacheReadSize 102400

## Directive CacheReadTime

Description: | Le temps minimum (en millisecondes) qui doit s'écouler avant d'envoyer les données au client
Syntaxe: | `CacheReadTime millisecondes`
Défaut: | `CacheReadTime 0`
Contexte: | configuration du serveur, serveur virtuel, répertoire, .htaccess
Statut: | Extension
Module: | mod_cache_disk

La directive `CacheReadTime` permet de définir le temps minimum qui doit s'écouler avant d'essayer d'envoyer des données au client. Pendant ce temps, les données sont mises en tampon avant de pouvoir être envoyées au client. Les performances peuvent s'en trouver améliorées lorsqu'on met en cache du contenu en provenance d'un mandataire inverse.

La valeur par défaut zéro désactive cette option.

Cette directive ne prend effet que lorsque les données sont enregistrées dans le cache, et non lorsque les données sont servies à partir du cache. Il est recommandé d'harmoniser l'utilisation de cette directive avec celle de la directive `CacheReadSize`, afin de s'assurer que le serveur n'effectue pas une mise en tampon excessive au cas où les données arriveraient plus vite que prévu.

    CacheReadTime 1000

## Directive CacheRoot

Description: | La racine du répertoire dans lequel les fichiers du cache seront stockés
Syntaxe: | `CacheRoot répertoire`
Contexte: | configuration du serveur, serveur virtuel
Statut: | Extension
Module: | mod_cache_disk

La directive `CacheRoot` permet de définir le nom du répertoire sur disque qui contiendra les fichiers du cache. Si le module `mod_cache_disk` a été chargé ou compilé dans le serveur Apache, cette directive doit être définie. L'absence de définition de la directive `CacheRoot` provoquera une erreur de traitement du fichier de configuration. Les directives `CacheDirLevels` et `CacheDirLength` permettent de définir la structure des sous-répertoires du répertoire racine spécifié.

    CacheRoot c:/cacheroot