OSCache est une librairie open source fondée sur une observation simple : les JSP (Java Server Pages) passent bien souvent leur temps à assembler sans cesse les mêmes pages, tout simplement parce que les données d’origine n’ont pas changé. Par exemple, lorsque l’on affiche une page d’un catalogue, pourquoi la réassembler complètement et dynamiquement si le contenu du catalogue n’a pas changé depuis le dernier affichage ?Il suffirait de garder la page (ou des fragments de la page) en mémoire, ou sur le disque dur, et de servir cette copie “statique” à l’utilisateur. Le réassemblage dynamique de la page ne se révèle nécessaire qu’en cas de modification des données d’origine. Cette technique offre, outre des performances améliorées, une meilleure disponibilité puisque les pages cachées pourront être affichées même si la base de données se révèle indisponible.La librairie OSCache propose une solution de cache JSP complète. Elle masque en effet des fragments de JSP ou des JSP complètes, en utilisant des politiques de mise à jour (automatique ou manuelle) et de stockage (en mémoire ou sur disque) très flexibles.
1 – Installez la librairie
L’installation d’OSCache dans Tomcat reste très simple. Téléchargez le package OSCache à partir du site opensymphony.com. L’archive contient les sources d’OSCache, ainsi que les fichiers nécessaires à l’installation dans votre serveur d’application.Copiez alors l’archive “oscache.jar” dans le répertoire “Jar” de votre application (WEB-INF/lib) et les deux fichiers texte dans le répertoire “Classes” (WEB-INF/classes), la tag library (“oscache.tld“) et le fichier de configuration (“oscache.properties“). Déclarez ensuite la librairie dans le fichier “web.xml” [cf. code ci-contre].
2 – Ajoutez les tags de cache
Recourir à OSCache dans une JSP se révèle d’une grande simplicité. Cet utilitaire est activé sous la forme d’une tag library qui met à disposition de nouveaux tags HTML utilisables dans vos JSP. Pour cacher une portion de page, il suffit de l’entourer des tags
3 – Adaptez les réglages du cache
Le premier paramètre à modifier est le nombre d’objets à cacher en mémoire. Par défaut, en version 1.7.5, OSCache masquera 1 000 objets et, une fois cette limite atteinte, réutilisera des emplacements mémoire selon un algorithme de type LRU (Least Recently Used). Pour augmenter la taille du cache, éditez le fichier “oscache.properties” dans le répertoire “Classes“, puis ajustez la valeur du paramètre “cache.capacity“.D’autre part, il est possible de configurer OSCache pour cacher les fragments de page sur le disque dur plutôt qu’en mémoire. Le cache mémoire, bien que très performant, présente en effet quelques inconvénients. Par exemple, lorsque le serveur d’application est relancé, le cache est perdu, et pendant le temps nécessaire à sa régénération, les performances du site seront dégradées. Pour de très gros sites, la quantité d’informations à cacher peut se révéler trop importante pour tenir complètement dans la mémoire disponible sur le serveur.Pour activer le cache disque, éditez le fichier “oscache.properties“, modifiez le paramètre “cache.path” et donnez-lui comme valeur un répertoire situé sur le disque. Une fois le cache disque activé, tout fragment de page caché en mémoire sera également écrit sur le disque afin d’être disponible même après un redémarrage.Par défaut, quand un fragment est effacé de la mémoire car la capacité du cache est atteinte, il sera également effacé du disque ; le cache disque ne sert alors que de sécurité. Pour obtenir un cache mixte mémoire/disque, demandez à ce que les copies disque soient conservées quand un objet est retiré du cache mémoire : positionnez le paramètre “cache.unlimited_disk” sur “true” dans le fichier “oscache.properties“. Si le paramètre “cache.capacity” est positionné à “1.000“, OSCache conservera donc 1 000 entrées en mémoire et le reste sur le disque.
🔴 Pour ne manquer aucune actualité de 01net, suivez-nous sur Google Actualités et WhatsApp.