combate SpringBoot2.0 (23) la integración de memoria caché integrada SpringDataCache Redis
conocimiento
comentario común primavera Cache Cache
- @CacheConfig establecer el almacenamiento en caché actual en la clase algunos lugares públicos, tales como el almacenamiento en caché nombre.
- actuación @Cacheable en el método, los resultados demuestran que este método puede ser almacenado en caché, si existe la caché, el método de destino no se puede llamar directamente desde la memoria caché, si la caché no existe, el cuerpo del método se lleva a cabo, y los resultados se almacenan en la memoria caché.
- @CacheEvice que actúa sobre el método, quitar la entrada de caché o vaciar la caché.
- @CachePut que actúa sobre el método, independientemente de si existe una caché, el cuerpo del método se ejecutará, y los resultados se almacenan en la memoria caché.
- @Caching que actúa sobre el método, si varias notas necesitan ser envueltos en @Caching los comentarios anteriores
meta
Use Redis como una caché de lograr cuando las adiciones y supresiones en la base de datos, sincronización de datos para actualizar la memoria caché, la memoria caché de la primera consulta de búsqueda.
preparativos
Crear una tabla
pasos
Añadir dependientes
La introducción del proyecto principal resorte de arranque Motor de arranque
Añadir Redis Dependencia, JPA y MySQL, números enteros que dependen de la adición de la siguiente
configuración
fuentes de datos, Redis, configuración de caché.
- spring.cache.type configurar el tipo de caché, simple por defecto, y la configuración para su uso como una caché Redis middleware, debe ser configurado para Redis atributos spring.cache.type
codificación
entidad objeto
Debido Redis inicialización, las secuencias de clase predeterminada utilizando JdkSerializationRedisSerializer, es necesario para poner en práctica el objeto entidad de interfaz Serializable.
código de nivel de repositorio
código de nivel de servicio
Agregar notas a las adiciones y supresiones de caché a cambio de método de búsqueda
clase de arranque
Añadido a la clase de arranque comentario @EnableCaching de caché de apertura
resultados de la validación
casos de prueba de escritura
El UserService las notas relacionadas con caché todos los comentarios, ejecutar casos de prueba, los espectáculos Registrar los siguientes:
notas de recuperación de la memoria caché, ejecutar casos de prueba una vez más, los espectáculos de registro lo siguiente:
Se puede observar después de que el uso de la memoria caché, según obtener datos del usuario cuando el ID de usuario, no realiza SQL.
Ir a la vista Redis, se puede ver la corriente Clave Redis para el usuario :: 12, donde 12 es el ID del usuario
Dirección de origen
capítulo Fuente: https://gitee.com/gongm_24/spring-boot-tutorial.git
conclusión
sistema de base de datos de alto rendimiento siempre ha sido un cuello de botella, el uso adecuado razonable de almacenamiento en caché puede mejorar considerablemente el rendimiento del sistema.
Sin embargo, el consiguiente aumento de la complejidad del sistema, hay más asuntos a tratar, como la coherencia de caché, caché de penetración caché avalanchas.