Voici une liste de recommandations relatives à l'utilisation d'un cache global :
- Ne mettez en mémoire cache que des objets non modifiables.
- Utilisez des clés et des valeurs sérialisables si possible. Au minimum, les clés doivent être sérialisables.
- Utilisez un programme de chargement de cache pour remplir le cache. Cela permet au cache de tirer parti des optimisations d'accès concurrent fines intégrées au fournisseur de cache, sans que l'utilisateur doive gérer l'accès concurrent au cache.
- Le chargement d'un cache dans programme de chargement (à l'aide des appels get() et put() calls) doit être évité pour deux raisons principales :
- Gestion de l'accès concurrent - Dans ce cas, l'utilisateur est responsable de la gestion de l'accès concurrent au cache pendant le chargement de ce dernier. L'utilisateur dispose de deux options :
- Contrôle de l'accès concurrent au bloc de code get() et put() – Cette approche n'est pas recommandée dans les composants de l'application sensibles aux performances mais garantit qu'un objet n'est chargé qu'une seule fois.
- Autorisation de l'accès concurrent au bloc de code get() et put() – cette approche prend en charge une plus grande concurrence mais un objet peut être chargé plusieurs fois par différentes unités d'exécution.
- Gestion efficace des données - sans programme de chargement de cache, le cache doit être pré-rempli avec toutes les données. Avec un programme de chargement de cache, seules les données requises sont extraites dans le cache.
- Utilisez les noms de cache préfixés avec un nom de pack unique pour votre projet. Par exemple, curam.cpm.myCache est un nom de cache approprié dans le projet Curam Provider Management™.