Questo articolo è un articolo speculare di traduzione automatica, clicca qui per saltare all'articolo originale.

Vista: 14268|Risposta: 0

[Fonte] 【Combattimento Pratico】Tutorial di integrazione Redis con Spring Boot

[Copiato link]
Pubblicato su 11/03/2019 16:48:17 | | | |
L'eccezione viene risolta iniettando l'istanza RedisTemplate in SpringBoot
https://www.itsvse.com/thread-7224-1-1.html
(Fonte: Architect_Programmer)
Errore di creazione di fagiolo con il nome 'stringRedisTemplate' definito in...
https://www.itsvse.com/thread-7225-1-1.html
(Fonte: Architect_Programmer)

Ambiente:Spring boot 2.1.1.RELEASE
pom.xml Aggiungi un riferimento, configurandolo come segue:



In application.properties, configuralo come segue:


Parliamo dei cambiamenti di configurazione di spring-boot-starter-data-redis
https://www.itsvse.com/thread-7207-1-1.html
(Fonte: Architect_Programmer)

Scrivi un controller di test:


Accediamo al controller tramite il browser e poi visualizziamo la cache tramite il client Redis.

spring redis ha due template, StringRedisTemplate e RedisTemplate, testiamo i dati attraverso questi due template e inseriamo le coppie chiave-valore itsvse e itsvse2 come segue:



Abbiamo inserito lo stesso valore, perché non solo il formato del valore è diverso, ma anche le regole di generazione delle chiavi sono diverse.(Il post dice sotto)

Breve analisi dei principi

Dai un'occhiata a cosa usano la serializzazione RedisTemplate e StringRedisTemplate.

Puoi vedere che StringRedisTemplate è un RedisTemplate ereditato. Poi imposta il metodo di serializzazione delle stringhe per usare StringRedisSerializer.

Codice sorgente RedisSerializer.string():


UTF_8 Definizione:
Poi, diamo un'occhiata al codice di serializzazione di RedisTemplate, e puoi vedere che il metodo predefinito è usare il metodo JDK JdkSerializationRedisSerializer:



Interrogando il codice sorgente si vede che RedisTemplate usa JdkSerializationRedisSerializer per la serializzazione di default, mentre StringRedisTemplate usa StringRedisSerializer.

Nota anche:I dati dei due non sono comuni; Questo significa che StringRedisTemplate può gestire solo i dati in StringRedisTemplate, e RedisTemplate può gestire solo i dati in RedisTemplate.

Questo spiega che abbiamo appena eseguito l'operazione di addizione tramite il template, e che ci sono diversi formati di dati.

Attiva la modalità di serializzazione

Se non vuoi usare il metodo di serializzazione predefinito, se usiamo fastjson, devi personalizzare il bean RedisTemplate per sostituire il bean originale iniettato da springboot:



(Fine)




Precedente:Il livello di base guarda al talento, il livello medio alla virtù, e il livello più alto alla mente
Prossimo:Non sono riusciti a caricare file o assembly dalle soluzioni Microsoft.Web.Infrastructure
Disconoscimento:
Tutto il software, i materiali di programmazione o gli articoli pubblicati dalla Code Farmer Network sono destinati esclusivamente all'apprendimento e alla ricerca; I contenuti sopra elencati non devono essere utilizzati per scopi commerciali o illegali, altrimenti gli utenti dovranno sostenere tutte le conseguenze. Le informazioni su questo sito provengono da Internet, e le controversie sul copyright non hanno nulla a che fare con questo sito. Devi eliminare completamente i contenuti sopra elencati dal tuo computer entro 24 ore dal download. Se ti piace il programma, ti preghiamo di supportare software autentico, acquistare la registrazione e ottenere servizi autentici migliori. In caso di violazione, vi preghiamo di contattarci via email.

Mail To:help@itsvse.com