web-dev-qa-db-fra.com

Quelles sont les meilleures pratiques de mise en cache dans ehcache ou Spring Cache pour Spring MVC?

En prévoyant d'implémenter un mécanisme de cache pour les données statiques dans une application Web Spring, quelqu'un peut-il expliquer lequel est le meilleur et comment cela fonctionne?

  • EhCache
  • Cache de printemps
14
Delli Kilari

Avis de non-responsabilité: je suis un employé de Terracotta/Software AG , les responsables de Ehcache

Ehcache est une bibliothèque de mise en cache JVM, célèbre pour être utilisée comme cache de deuxième niveau par défaut pour l'ORM Hibernate

Spring cache a été introduit dans Spring 3.1 et a apporté des annotations telles que @CachePut pour définir les utilisations des caches dans une application Spring; par défaut, le cache Spring utilise une carte simple, mais vous pouvez le configurer pour utiliser n'importe quel framework de mise en cache populaire, y compris Ehcache

Depuis Spring 4.1, Spring cache prend en charge JSR-107 , la norme de mise en cache sur la JVM.

Cela signifie que vous pouvez ajouter des annotations de mise en cache JSR-107, puis choisir votre bibliothèque de mise en cache ( ehcache 2 ou / goyave / caféine =/ etc. ): vous n'êtes lié à aucun fournisseur de mise en cache, même pas lié aux annotations de cache Spring!

Il y a ce joli billet de blog expliquant le parallèle entre les annotations du cache Spring et les annotations JSR-107 et si vous choisissez d'utiliser Ehcache3 dans votre application Spring Boot, il y a un autre billet de blog intéressant vous expliquant comment l'intégrer dans votre application

26
Anthony Dahanne

Ehcache3 prend en charge JSR 107

Pour Ehcache2, vous pouvez utiliser cette implémentation

https://github.com/ehcache/ehcache-jcache/tree/master/ehcache-jcache

0
Kalpesh Soni