mod_cache_socache
Module de stockage à base de cache d'objets partagés (socache) pour le filtre de mise en cache HTTP.
Extension
mod_cache_socache.c
cache_socache_module

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é.

mod_cache
mod_cache_disk
Guide de la mise en cache
CacheSocache
Implémentation du cache d'objets partagés à utiliser
CacheSocache type[:args]
server config
virtual host
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
CacheSocacheMaxTime
La durée maximale de stockage d'un document dans le cache avant péremption
CacheSocacheMaxTime secondes
CacheSocacheMaxTime 86400
server config
virtual host
directory
.htaccess
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
CacheSocacheMinTime
La durée minimale de stockage d'un document dans le cache
CacheSocacheMinTime seconds
CacheSocacheMinTime 600
server config
virtual host
directory
.htaccess
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
CacheSocacheMaxSize
La taille maximale d'une entrée pouvant être placée dans le cache
CacheSocacheMaxSize octets
CacheSocacheMaxSize 102400
server config
virtual host
directory
.htaccess
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
CacheSocacheReadSize
La quantité minimale de données du document à lire et mettre en cache avant envoi au client
CacheSocacheReadSize octets
CacheSocacheReadSize 0
server config
virtual host
directory
.htaccess
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.

CacheReadSize 102400
CacheSocacheReadTime
La durée minimale de lecture avant l'envoi des données
CacheSocacheReadTime millisecondes
CacheSocacheReadTime 0
server config
virtual host
directory
.htaccess
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