Solutions de caching en Java (JSR 107)

Pour rappel, la JSR 107 correspond à la spécification de l’API de caching en Java.

L’implémentation officielle de cette JSR est JCache.

Les solutions de caching actuelle implémentent tous cette API, notamment : EhCache, Hazelcast, Guava Cache, Caffeine, Gemfire cache,…

Ces implémentations fournissent un moyen de créer, d’accéder, de mettre à jour, et de supprimer les entrées d’un cache.

Pourquoi ou dans quel cas utiliser un cache?

Un cache est généralement utilisée pour améliorer la performance et la scalabilité d’une application.

L’idée du cache est de stocker temporairement une copie d’une donnée dont la récupération est soit coûteux, soit fréquent, ou dont la création prend beaucoup de temps.

Qu’est-ce qu’un caching?

Le caching, c’est donc la technique utilisée lors du développement d’une application permettant de stocker dans un système de persistence avec un délai de latence faible, ou une solution in-memory, une donnée dont la création est coûteuse et qui est susceptible d’être réutilisée par l’application plusieurs fois.

Les uses cases les plus courant sont :

  • Caching des réponses retournées lors de l’appel à un webservice
  • Caching du résultat d’un calcul coûteux
  • Caching de donnée
  • Caching de la réponse à retourner pour un servlet
  • Caching d’une graphe de domaine objet