Le cache des objets partag�s du serveur HTTP Apache
Langues Disponibles: en |
fr
Le cache des objets partag�s est un concept de partage de donn�es
de base entre tous les processus d'un serveur, sans se pr�occuper du
mod�le de threads et de processus. On
l'utilise lorsque les avantages apport�s par le partage de donn�es
entre processus contrebalance la perte de performances cons�cutive �
la communication interprocessus.

Le cache d'objets partag�s en tant que tel est une abstraction.
Il est impl�ment� par quatre modules diff�rents. Pour pouvoir
utiliser le cache, un ou plusieurs de ces modules doivent �tre
pr�sents et configur�s.
Le seul �l�ment de configuration consiste � d�finir le
fournisseur de cache � utiliser. Ceci est de la responsabilit� des
modules qui utilisent le cache, et pour cela, ils activent la
s�lection via des directives telles que CacheSocache
, AuthnCacheSOCache
, SSLSessionCache
, et SSLStaplingCache
.
Les fournisseurs actuellement disponibles sont :
- "dbm" (
mod_socache_dbm
)
- Celui-ci utilise un fichier de hashage DBM. Le choix de la
DBM sous-jacente peut �tre configurable si la version
d'APR install�e supporte de multiples impl�mentations de DBM.
- "dc" (
mod_socache_dc
)
- Celui-ci utilise les biblioth�ques de mise en cache de sessions
distribu�es distcache.
- "memcache" (
mod_socache_memcache
)
- Celui-ci utilise le syst�me � hautes performances de mise en
cache d'objets de m�moire distribu�e memcached.
- "shmcb" (
mod_socache_shmcb
)
- Celui-ci utilise un tampon cyclique � hautes performances au
sein d'un segment de m�moire partag�e.
L'API fournit les fonctions suivantes :
- const char *create(ap_socache_instance_t **instance, const char *arg,
apr_pool_t *tmp, apr_pool_t *p);
- Cette fonction permet de cr�er un cache de session bas� sur
la cha�ne de configuration sp�cifi�e. Le pointeur d'instance
renvoy� dans le param�tre instance sera pass� comme premier
argument des invocations subs�quentes.
- apr_status_t init(ap_socache_instance_t *instance, const char *cname,
const struct ap_socache_hints *hints,
server_rec *s, apr_pool_t *pool)
- Cette fonction permet d'initialiser le cache. L'argument cname
doit avoir une longueur maximale de 16 caract�res et permet
d'identifier de mani�re unique l'utilisateur du cache au sein du
serveur ; il est recommand� d'utiliser le nom du module, par
exemple "mod_ssl-sess". Comme cette cha�ne peut �tre utilis�e au
sein d'un syst�me de fichiers, il est conseill� de n'utiliser que
des caract�res alphanum�riques [a-z0-9_-]. Si l'argument hints
n'est pas �gal � NULL, il fournit un ensemble d'indications au
fournisseur. La valeur retourn�e est le code d'erreur APR.
- void destroy(ap_socache_instance_t *instance, server_rec *s)
- Cette fonction permet de d�truire l'instance de cache
sp�cifi�e.
- apr_status_t store(ap_socache_instance_t *instance, server_rec *s,
const unsigned char *id, unsigned int idlen,
apr_time_t expiry,
unsigned char *data, unsigned int datalen,
apr_pool_t *pool)
- Cette fonction permet de stocker un objet dans une instance de
cache.
- apr_status_t retrieve(ap_socache_instance_t *instance, server_rec *s,
const unsigned char *id, unsigned int idlen,
unsigned char *data, unsigned int *datalen,
apr_pool_t *pool)
- Cette fonction permet d'extraire un objet du cache.
- apr_status_t remove(ap_socache_instance_t *instance, server_rec *s,
const unsigned char *id, unsigned int idlen,
apr_pool_t *pool)
- Supprime un objet du cache.
- void status(ap_socache_instance_t *instance, request_rec *r, int flags)
- Renvoie le statut d'une instance de cache � destination de mod_status.
- apr_status_t iterate(ap_socache_instance_t *instance, server_rec *s,
void *userctx, ap_socache_iterator_t *iterator,
apr_pool_t *pool)
- Envoie tous les objets gard�s en cache � une fonction pour traitement it�ratif.