Je veux effacer les données du cache du cache de niveau 2 en appelant la méthode ci-dessous:Mise en veille prolongée 2e niveau Cache
sessionFactory.getCache().evictEntityRegions();
Je veux juste savoir, est-il de mal à faire cela? Par exemple: Que se passera-t-il si j'essaie d'effacer le cache au milieu de la transaction?
Merci d'avance.
Salut Dragan, j'ai un cas. Supposons que certaines transactions soient en cours pour obtenir des données et que le cache de second niveau contient des données à ce moment-là. En même temps, un autre thread évite tous les caches de région alors que la transaction précédente n'est pas encore terminée. Alors qu'arrivera-t-il dans ce cas. Puis-je obtenir null à partir du cache dans cette transaction et un coup de DB se produira? Y a-t-il un risque de problème? –
@VikasVats Dans ce cas, l'objet est déjà dans le cache de premier niveau (session) et sera extrait de là à la fin de la transaction. Si l'objet est manuellement évincé de la session ou si la session entière est effacée manuellement, l'objet sera simplement rechargé à partir de la base de données et stocké dans les caches de premier et second niveau. Il n'y a aucune chance de problème à ce sujet. –