J'essaie de migrer mon code de projet d'OSCache vers EhCache.Spécification de la capacité globale EhCache
Nous avons utilisé OSCache non seulement comme fournisseur de cache Hibernate de second niveau, mais également pour stocker d'autres objets de nature différente. Ils ont tous heureusement partagé la même instance de cache sans aucune collision due à des clés de cache qui ne se chevauchent pas.
Une grande différence lors du déplacement vers EhCache est que chaque région a son instance de cache différente. Ceci est potentiellement bon car il peut améliorer la vitesse de recherche car les données de nature différente résident séparément. Malheureusement, cela a un prix d'enfer de configuration. Laisse-moi expliquer.
Dans le monde OSCache, je configurerais ma capacité de cache pour être, disons, 10000. Maintenant, si une installation particulière nécessiterait/pourrait permettre plus de RAM, je le ferais facilement jusqu'à 50000 et cela ferait l'affaire. Maintenant, dans EhCache, je dois changer le réglage par portion de ce delta pour chaque région! Par ailleurs, une installation peut avoir une utilisation plus élevée d'objets de type X alors qu'une autre installation peut préférer une rotation plus élevée d'objets de type Y. Nous avons des dizaines d'installations et chaque installation aurait des centaines de caches différents. Pour cela, nous aurions à embaucher des gens qui ne font rien d'autre que de surveiller les modèles de cache et de peaufiner les paramètres!
Je m'attendais à CacheManager
pour avoir une sorte de paramètre de capacité de cache global et chaque cache interne se battrait pour plus de capacité, en fonction de l'utilisation d'entrée. Cependant, la seule façon que j'ai trouvé pour définir la capacité de cache est via CacheConfiguration
qui est plusieurs-à-un contre CacheManager
. Jusqu'ici, la seule option que je puisse voir est d'essayer de forcer le Hibernate à utiliser un cache global pour toutes les entités. Est-ce que quelqu'un sait comment faire cela? Y a-t-il d'autres meilleures solutions pour mon scénario?
Wow, merci beaucoup pour cette réponse, je vais certainement jeter un oeil à ce retour après Noël. – mindas