Serveur Apache HTTP Version 2.4

Apache > Serveur HTTP > Documentation > Version 2.4 > Modules

# Module Apache mod_cache_socache

Description: | Module de stockage à base de cache d'objets partagés (socache) pour le filtre de mise en cache HTTP.
Statut: | Extension
Identificateur de Module: | cache_socache_module
Fichier Source: | mod_cache_socache.c

### Sommaire

Le module `mod_cache_socache` implémente un gestionnaire de stockage à base de cache d'objets partagés (socache) pour le module `mod_cache`.

Les en-têtes et corps des réponses mises en cache sont rassemblés et stockés sous une même clé dans le cache d'objets partagés. Il est possible de choisir entre plusieurs implémentations de caches d'objets partagés.

Des réponses avec différents contenus négociés peuvent être stockées simultanément ; cependant, la mise en cache de contenus partiels n'est pas encore supportée par ce module.

    # Activation de la mise en cache
    CacheSocache shmcb
    CacheSocacheMaxSize 102400
    <Location "/foo">
        CacheEnable socache
    </Location>

    # Possibilité de se rabattre sur le cache disque
    CacheSocache shmcb
    CacheSocacheMaxSize 102400
    <Location "/foo">
        CacheEnable socache
        CacheEnable disk
    </Location>

### Note :

Le module `mod_cache_socache` requiert les services du module `mod_cache` qui doit donc avoir été préalablement chargé.

### Directives

### Traitement des bugs

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

### Voir aussi

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

## Directive CacheSocache

Description: | Implémentation du cache d'objets partagés à utiliser
Syntaxe: | `CacheSocache type[:args]`
Contexte: | configuration du serveur, serveur virtuel
Statut: | Extension
Module: | mod_cache_socache
Compatibilité: | Disponible à partir de la version 2.4.5 du serveur HTTP Apache

La directive `CacheSocache` définit l'implémentation du cache d'objets partagés à utiliser, suivie d'arguments optionnels. Il est possible de choisir entre plusieurs implémentations de caches d'objets partagés.

    CacheSocache shmcb

## Directive CacheSocacheMaxSize

Description: | La taille maximale d'une entrée pouvant être placée dans le cache
Syntaxe: | `CacheSocacheMaxSize octets`
Défaut: | `CacheSocacheMaxSize 102400`
Contexte: | configuration du serveur, serveur virtuel, répertoire, .htaccess
Statut: | Extension
Module: | mod_cache_socache
Compatibilité: | Disponible à partir de la version 2.4.5 du serveur HTTP Apache

La directive `CacheSocacheMaxSize` définit la taille maximale, en octets, de la somme des en-têtes et du corps d'un document pouvant être stocké dans le cache. Bien entendu, plus la taille des en-têtes sera grande, plus la taille maximale du corps du document s'en trouvera réduite.

Le module `mod_cache_socache` ne tentera de mettre en cache que des réponses qui possèdent une taille de contenu explicite, ou dont la taille est suffisamment petite pour qu'elles soient écrites en une seule passe. Ceci permet au module `mod_cache_disk` de mettre en cache des réponses dont la taille est trop importante pour pouvoir être mises en cache par `mod_cache_socache`.

    CacheSocacheMaxSize 102400

## Directive CacheSocacheMaxTime

Description: | La durée maximale de stockage d'un document dans le cache avant péremption
Syntaxe: | `CacheSocacheMaxTime secondes`
Défaut: | `CacheSocacheMaxTime 86400`
Contexte: | configuration du serveur, serveur virtuel, répertoire, .htaccess
Statut: | Extension
Module: | mod_cache_socache
Compatibilité: | Disponible à partir de la version 2.4.5 du serveur HTTP Apache

La directive `CacheSocacheMaxTime` définit la durée de stockage maximale en secondes d'un document dans le cache avant péremption. Cette définition l'emporte sur la durée de fraîcheur définie pour le document par le protocole HTTP.

    CacheSocacheMaxTime 86400

## Directive CacheSocacheMinTime

Description: | La durée minimale de stockage d'un document dans le cache
Syntaxe: | `CacheSocacheMinTime seconds`
Défaut: | `CacheSocacheMinTime 600`
Contexte: | configuration du serveur, serveur virtuel, répertoire, .htaccess
Statut: | Extension
Module: | mod_cache_socache
Compatibilité: | Disponible à partir de la version 2.4.5 du serveur HTTP Apache

La directive `CacheSocacheMinTime` définit le nombre de secondes au delà de la durée de fraîcheur de la réponse pendant lesquelles cette dernière devra être stockée dans le cache d'objets partagés. En effet, si une réponse n'est stockée que pour une durée égale à sa durée de fraîcheur, elle n'a pas besoin d'être rafraîchie.

    CacheSocacheMinTime 600

## Directive CacheSocacheReadSize

Description: | La quantité minimale de données du document à lire et mettre en cache avant envoi au client
Syntaxe: | `CacheSocacheReadSize octets`
Défaut: | `CacheSocacheReadSize 0`
Contexte: | configuration du serveur, serveur virtuel, répertoire, .htaccess
Statut: | Extension
Module: | mod_cache_socache
Compatibilité: | Disponible à partir de la version 2.4.5 du serveur HTTP Apache

La directive `CacheSocacheReadSize` définit la quantité minimale de données, en octets, à lire depuis l'arrière-plan avant envoi au client. Avec la valeur par défaut 0, les données sont transmises au client dès leur arrivée et quelle que soit leur taille. Si la valeur définie est non nulle, le cache disque va mettre en tampon au moins la quantité de données correspondante avant envoi au client. Ceci peut améliorer les performances en cas de mise en cache de contenu en provenance d'un mandataire inverse lent.

Cette directive n'a d'effet qu'au moment où les données sont stockées dans le cache, et non lorsqu'elles sont servies depuis le cache.

    CacheSocacheReadSize 102400

## Directive CacheSocacheReadTime

Description: | La durée minimale de lecture avant l'envoi des données
Syntaxe: | `CacheSocacheReadTime millisecondes`
Défaut: | `CacheSocacheReadTime 0`
Contexte: | configuration du serveur, serveur virtuel, répertoire, .htaccess
Statut: | Extension
Module: | mod_cache_socache
Compatibilité: | Disponible à partir de la version 2.4.5 du serveur HTTP Apache

La directive `CacheSocacheReadTime` définit le temps minimal qui doit s'écouler avant de tenter l'envoi des données au client. Cette durée sera mise à profit pour lire et mettre en tampon les données avant leur envoi au client. Ceci peut améliorer les performances en cas de mise en cache de contenu en provenance d'un mandataire inverse.

La valeur par défaut 0 désactive cette directive.

Cette directive n'a d'effet qu'au moment où les données sont stockées dans le cache, et non lorsqu'elles sont servies depuis le cache. Il est recommandé d'utiliser cette directive en concomitance avec la directive `CacheSocacheReadSize` afin de s'assurer que le serveur ne mette pas les données en tampon de manière excessive dans le cas où les données arriveraient plus vite que prévu.

    CacheSocacheReadTime 1000