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