Este artículo es un artículo espejo de traducción automática, por favor haga clic aquí para saltar al artículo original.

Vista: 14268|Respuesta: 0

[Fuente] 【Combate práctico】Tutorial de integración de Redis con Spring Boot

[Copiar enlace]
Publicado en 11/3/2019 16:48:17 | | | |
La excepción se resuelve inyectando la instancia RedisTemplate en SpringBoot
https://www.itsvse.com/thread-7224-1-1.html
(Fuente: Architect_Programmer)
Error creando bean con el nombre 'stringRedisTemplate' definido en...
https://www.itsvse.com/thread-7225-1-1.html
(Fuente: Architect_Programmer)

Medio ambiente:Spring boot 2.1.1.LANZAMIENTO
pom.xml Añadir una referencia, configurándola de la siguiente manera:



En application.properties, configúralo de la siguiente manera:


Hablemos de los cambios de configuración de spring-boot-starter-data-redis
https://www.itsvse.com/thread-7207-1-1.html
(Fuente: Architect_Programmer)

Escribe un controlador de prueba:


Accedemos al controlador desde el navegador y luego vemos la caché desde el cliente Redis.

spring redis tiene dos plantillas, StringRedisTemplate y RedisTemplate, probamos los datos a través de estas dos plantillas e insertamos los pares clave-valor itsvse e itsvse2 de la siguiente manera:



Insertamos el mismo valor, por qué no solo el formato de valor es diferente, sino también las reglas de generación de claves son diferentes.(La publicación dice abajo)

Breve análisis de principios

Echa un vistazo a qué usan RedisTemplate y StringRedisTemplate en serialización.

Puedes ver que StringRedisTemplate es una RedisPlantilla heredada. Luego configura el método de serialización de cadenas para usar StringRedisSerializer.

Código fuente de RedisSerializer.string():


UTF_8 Definición:
A continuación, echemos un vistazo al código de serialización de RedisTemplate, y puedes ver que el predeterminado es usar el método de serialización JDK JdkSerializationRedisSerializer:



Consultar el código fuente muestra que RedisTemplate usa JdkSerializationRedisSerializer para la serialización por defecto, mientras que StringRedisTemplate usa StringRedisSerializer.

También nota:Los datos de ambos no son comunes; Esto significa que StringRedisTemplate solo puede gestionar los datos en StringRedisTemplate, y RedisTemplate solo puede gestionar los datos en RedisTemplate.

Esto explica que acabamos de realizar la operación de suma a través de la plantilla, y que hay diferentes formatos de datos.

Alternar el modo de serialización

Si no quieres usar el método de serialización por defecto, si usamos fastjson, necesitas personalizar el bean RedisTemplate para reemplazar el bean original inyectado por springboot:



(Fin)




Anterior:La base se fija en el talento, la de nivel medio en la virtud y la de nivel superior en la mente
Próximo:No se han podido cargar archivos ni ensambladores desde soluciones Microsoft.Web.Infrastructure
Renuncia:
Todo el software, materiales de programación o artículos publicados por Code Farmer Network son únicamente para fines de aprendizaje e investigación; El contenido anterior no se utilizará con fines comerciales o ilegales; de lo contrario, los usuarios asumirán todas las consecuencias. La información de este sitio proviene de Internet, y las disputas de derechos de autor no tienen nada que ver con este sitio. Debes eliminar completamente el contenido anterior de tu ordenador en un plazo de 24 horas desde la descarga. Si te gusta el programa, por favor apoya el software genuino, compra el registro y obtén mejores servicios genuinos. Si hay alguna infracción, por favor contáctanos por correo electrónico.

Mail To:help@itsvse.com