Cet article est un article miroir de traduction automatique, veuillez cliquer ici pour accéder à l’article original.

Vue: 14268|Répondre: 0

[Source] 【Combat Pratique】Intégration Redis de Spring Boot

[Copié le lien]
Publié sur 11/03/2019 16:48:17 | | | |
L’exception est résolue en injectant l’instance RedisTemplate dans SpringBoot
https://www.itsvse.com/thread-7224-1-1.html
(Source : Architect_Programmer)
Erreur de création de grains avec le nom 'stringRedisTemplate' défini dans...
https://www.itsvse.com/thread-7225-1-1.html
(Source : Architect_Programmer)

Environnement :Spring boot 2.1.1.RELEASE
pom.xml Ajoutez une référence, en la configurant comme suit :



Dans application.properties, configurez-le comme suit :


Parlons des changements de configuration de spring-boot-starter-data-redis
https://www.itsvse.com/thread-7207-1-1.html
(Source : Architect_Programmer)

Écrivez un contrôleur de test :


Nous accédons au contrôleur via le navigateur puis consultons le cache via le client Redis.

spring redis possède deux modèles, StringRedisTemplate et RedisTemplate ; nous testons les données via ces deux modèles, et insérons les paires clé-valeur itsvse et itsvse2 comme suit :



Nous avons inséré la même valeur, pourquoi non seulement le format de valeur est différent, mais aussi les règles de génération de clés sont différentes.(Le post indique ci-dessous)

Brève analyse des principes

Regardez ce que RedisTemplate et StringRedisTemplate utilisent en sérialisation.

Vous pouvez voir que StringRedisTemplate est un RedisTemplate hérité. Ensuite, réglez la méthode de sérialisation de chaînes pour utiliser StringRedisSerializer.

Code source RedisSerializer.string() :


UTF_8 Définition :
Ensuite, regardons le code de sérialisation de RedisTemplate, et vous verrez que par défaut est d’utiliser la méthode de sérialisation JDK JdkSerializationRedisSerializer :



L’interrogation du code source montre que RedisTemplate utilise par défaut JdkSerializationRedisSerializer pour la sérialisation, tandis que StringRedisTemplate utilise StringRedisSerializer.

À noter aussi :Les données des deux ne sont pas courantes; Cela signifie que StringRedisTemplate ne peut gérer que les données dans StringRedisTemplate, et que RedisTemplate ne peut gérer que les données dans RedisTemplate.

Cela explique que nous avons simplement effectué l’opération d’addition via le modèle, et qu’il existe différents formats de données.

Basculez le mode de sérialisation

Si vous ne souhaitez pas utiliser la méthode de sérialisation par défaut, si nous utilisons fastjson, vous devez personnaliser le grain RedisTemplate pour remplacer le bean original injecté par springboot :



(Fin)




Précédent:Le terrain s’intéresse au talent, le niveau intermédiaire à la vertu, et le niveau supérieur à l’esprit
Prochain:Échec de charger des fichiers ou assemblages depuis les solutions Microsoft.Web.Infrastructure
Démenti:
Tous les logiciels, supports de programmation ou articles publiés par Code Farmer Network sont uniquement destinés à l’apprentissage et à la recherche ; Le contenu ci-dessus ne doit pas être utilisé à des fins commerciales ou illégales, sinon les utilisateurs assumeront toutes les conséquences. Les informations sur ce site proviennent d’Internet, et les litiges de droits d’auteur n’ont rien à voir avec ce site. Vous devez supprimer complètement le contenu ci-dessus de votre ordinateur dans les 24 heures suivant le téléchargement. Si vous aimez le programme, merci de soutenir un logiciel authentique, d’acheter l’immatriculation et d’obtenir de meilleurs services authentiques. En cas d’infraction, veuillez nous contacter par e-mail.

Mail To:help@itsvse.com