Maison > Java > javaDidacticiel > le corps du texte

Quelle est la différence entre le cache de premier niveau mybatis et le cache de deuxième niveau ?

coldplay.xixi
Libérer: 2022-12-30 11:12:23
original
48059 Les gens l'ont consulté

La différence entre le cache de premier niveau et le cache de deuxième niveau de mybatis : 1. Le cache de premier niveau de Mybatis fait référence à SQLSession. La portée du cache de premier niveau est SQlSession. cache de premier niveau par défaut ; 2. Mybatis Le cache de deuxième niveau n'est pas activé par défaut.

Quelle est la différence entre le cache de premier niveau mybatis et le cache de deuxième niveau ?

L'environnement d'exploitation de cet article : système Windows 7, MyBatis version 3.5.6, ordinateur Dell G3.

La différence entre le cache de premier niveau et le cache de deuxième niveau de mybatis :

1) Le cache de premier niveau de Mybatis fait référence à SQLSession, et le la portée du cache de premier niveau est SQlSession, Mabits active le cache de premier niveau par défaut. Dans la même SqlSession, lors de l'exécution de la même requête SQL ; la première fois, elle interrogera la base de données et l'écrira dans le cache, et la deuxième fois, elle sera récupérée directement du cache. Lorsque SQL est exécuté et que des ajouts, des suppressions et des modifications se produisent entre les deux requêtes, le cache SQLSession sera vidé.

Chaque requête recherchera d'abord dans le cache. Si elle ne peut pas être trouvée, elle interrogera la base de données et écrira les résultats dans le cache. Le cache interne de Mybatis utilise un HashMap et la clé est l'instruction hashcode+statementId+sql. La valeur est l'objet Java mappé au jeu de résultats de la requête. Une fois que SqlSession a effectué l'insertion, la mise à jour, la suppression et d'autres opérations de validation, le cache SQLSession sera vidé.

2) Cache de deuxième niveau Le cache de deuxième niveau est au niveau du mappeur Mybatis n'active pas le cache de deuxième niveau par défaut. La première fois que le SQL sous le mappeur est appelé pour interroger les informations de l'utilisateur, les informations interrogées seront stockées dans la zone de cache de deuxième niveau correspondant au mappeur. Lors du deuxième appel au fichier de mappage du mappeur sous l'espace de noms, le même SQL est utilisé pour interroger les informations utilisateur et les résultats seront récupérés du cache de deuxième niveau correspondant.

Quelle est la différence entre le cache de premier niveau mybatis et le cache de deuxième niveau ?

Recommandations associées : tutoriel d'introduction à Java

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal