¿Qué es el caché de segundo nivel en hibernación?
Existen dos tipos de caché de segundo nivel.
Caché incorporado: Hibernate viene con él y no se puede desinstalar. Por lo general, durante la fase de inicialización de Hibernate, Hibernate colocará metadatos de mapeo y declaraciones SQL predefinidas en el caché de SessionFactory. La caché integrada es de sólo lectura.
Caché externa: La caché de segundo nivel también se denomina caché externa. De forma predeterminada, SessionFactory no habilita este complemento de almacenamiento en caché. Los datos del caché externo son una copia de los datos de la base de datos y el medio físico del caché externo puede ser la memoria o el disco duro.
La estructura de la caché de segundo nivel de hibernación
2. Estrategia de acceso concurrente
Transaccional
(Transacción)
Se aplica únicamente a entornos alojados.
Proporciona un nivel de aislamiento de transacciones de lectura repetible
Adecuado para datos que se leen con frecuencia y rara vez se modifican.
Puede evitar lecturas sucias y problemas de simultaneidad de lecturas no repetibles.
La caché admite transacciones y se puede revertir cuando se produce una excepción.
Lectura-escritura
(tipo lectura-escritura)
Proporciona un nivel de aislamiento de transacción de confirmación de lectura.
Aplicable a entornos no clusterizados.
Adecuado para datos que se leen con frecuencia y rara vez se modifican.
Puede evitar malas lecturas
La actualización del caché bloqueará los datos en el caché.
Lectura y escritura no estricta
(Lectura y escritura no estricta)
Es adecuado para datos que rara vez se modifican y ocasionalmente permite lecturas sucias (dos transacciones modifíquelo al mismo tiempo) Los datos son raros)
No se puede garantizar la coherencia de los datos en el caché y la base de datos.
Establezca un tiempo de caducidad breve para los datos almacenados en caché para evitar lecturas sucias tanto como sea posible.
No bloquear datos en la caché
Solo lectura
(Solo lectura)
Aplicar datos que nunca serán modificados (como datos de referencia)
En este modo, si los datos se actualizan, se producirá una excepción.
Bajo nivel de aislamiento de transacciones y alto rendimiento de concurrencia.
También funciona bien en un entorno agrupado.
Análisis: Analice lo siguiente a través de la tabla anterior.
Adecuado para colocar datos en caché L2
Rara vez modificado.
Datos no muy importantes, ocasionalmente pueden ocurrir problemas de concurrencia.
Datos no aptos para caché secundaria.
Modificar con frecuencia.
No existe absolutamente ningún problema de simultaneidad con los datos financieros.
Datos compartidos con otros datos de la aplicación * * *