Im travaillant sur le développement d'une webapplication avec le Printemps, les 3 et Hibernate 3.6. Pour le moment j'essaie de comprendre comment la mise en Cache avec Spring et Hibernate œuvres. J'ai trouvé quelques sources sur la mise en Cache avec Hibernate et certains sur la de Printemps et j'essaie d'apporter mes informations. J'ai encore quelques questions à la fois les cadres et les Id être heureux si quelqu'un pouvait y répondre ou me dire si les faits énumérés ici sont correctes.
La plupart du temps, des réponses courtes (oui/non) serait suffisante. Je pense que cette liste peut être utile pour d'autres personnes, qui veulent comprendre comment la mise en cache avec spring et hibernate œuvres.
General
1) Hibernate supporte les Caches: 1er Niveau de Cache, 2ème Niveau de Cache, Cache de Requêtes
2) le Printemps lui-même prend en charge la suite de la mise en Cache des possibilités: il suffit de la Méthode de mise en Cache
1st Level Cache
3) Le 1er Niveau de Cache fait partie de TOUTES les applications Hibernate.
4) Le 1er Niveau de Cache est créé pour CHAQUE mise en veille prolongée-session.
5) Quel est enregistré dans le 1er Niveau de Cache? Des objets ou tout simplement les valeurs de leurs propriétés? les requêtes et leurs résultats?
2nd Level Cache
6) j'ai trouvé: le 2ème Niveau de Cache est utilisé une seule FOIS par l'application. n'est-ce pas faux? n'est-il pas utilisé une seule FOIS par sessionfactory? et: plusieurs sessionfactorys = multiple de 2e niveau caches possible?
7) quel est enregistré dans le 2ème Niveau du Cache: à mon avis juste des valeurs appartenant à un enregistrement, pas l'objet lui-même.
8) lors du stockage des valeurs à partir d'un enregistrement dans le 2ème Niveau de Cache, il est possible de stocker des valeurs relatives (à partir d'objets connectés via une clé étrangère) avec elle aussi?
9) lorsque vous mettez à jour les valeurs d'un objet dans le 2ème niveau de cache, il est possible de mettre à jour les valeurs des objets connectés dans le cache de trop?
10) lorsque les valeurs d'un objet sont en train de changer, comment puis-je mettre à jour le 2ème cache de niveau? flush? puis-je mettre à jour une partie de la mémoire cache ou doit l'ensemble de la cache d'être mis à jour?
11) d'où vient le 2ème niveau de cache du sens, et où il ne marche pas?
12) le Mode de Cache: est-ce que chaque mode cache une autre stratégie de mise en cache? par exemple avec le cache en mode "lecture seule", pas de synchronisation de base de données et le cache est toujours nécessaire? faire d'autres modes de mise en cache fournir la synchronisation? Je pensais que la synchronisation doit être effectuée par le développeur lui-même?
Query Cache
13) quelle est la différence entre le Cache de Requête et le 2ème Niveau de Cache? à mon avis: dans le Cache de Requête d'ensembles de résultats sont enregistrés, mais pas avec leurs valeurs, avec leurs papiers d'identité. lorsque la requête est de nouveau utilisé et le résultat est toujours "bonne", des valeurs appartenant à l'id sont interrogées à partir de la 2ème Cache de Niveau
14) Pour la Requête Cache de Niveau 2 mémoire Cache DOIT être utilisé?
15) d'où vient le Cache de Requête du sens, et où il ne marche pas?
Spring
16) Ne Ressort fournir plus de possibilités de mise en Cache que la méthode de la mise en cache?
17) la méthode de la mise en cache n'est pas lié à la mise en cache hibernate
18) , mais: pour la méthode de la mise en cache de niveau 2 est nécessaire, comme d'ehcache (qui peut être utilisé par hibernate trop)
19) peut-méthode de mise en cache être utilisé sans requêtes de base de données?
Getting mixed up
20) si vous utilisez ehcache pour hiberner comme 2ème cache de niveau et de ehcache pour le printemps pour la méthode de mise en cache, puis-je utiliser le même ehcache-exemple? est-il une chance que quelque chose se mélange?
21) lors de l'utilisation de 1er niveau et de cache de 2ème niveau de cache, peuvent-ils se mêler? lors de l'interrogation de la base de données, d'où le résultat, alors venez, le 1er ou le 2ème cache de niveau? le 1er niveau de cache de travail avec le 2e niveau de cache?
22) de toute autre chose qui peuvent être mélangées en utilisant les caches que j'ai citées? :-)
Merci pour la réponse, n'importe quelle question! :-)