<-
Apache > Serveur HTTP > Documentation > Version 2.4

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.

top

Fournisseurs du cache d'objets partag�s

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.

Langues Disponibles:  en  |  fr 

top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our mailing lists.