Denne artikkelen er en speilartikkel om maskinoversettelse, vennligst klikk her for å hoppe til originalartikkelen.

Utsikt: 14268|Svare: 0

[Kilde] 【Practical Combat】Spring Boot integrasjon Redis veiledning

[Kopier lenke]
Publisert på 11.03.2019 16:48:17 | | | |
Unntaket løses ved å injisere RedisTemplate-instansen i SpringBoot
https://www.itsvse.com/thread-7224-1-1.html
(Kilde: Architect_Programmer)
Feil som oppretter bønne med navnet 'stringRedisTemplate' definert i...
https://www.itsvse.com/thread-7225-1-1.html
(Kilde: Architect_Programmer)

Miljø:Spring boot 2.1.1.RELEASE
pom.xml Legg til en referanse, og konfigurerer den slik:



I application.properties, konfigurere det som følger:


La oss snakke om konfigurasjonsendringene til spring-boot-starter-data-redis
https://www.itsvse.com/thread-7207-1-1.html
(Kilde: Architect_Programmer)

Skriv en testkontroller:


Vi får tilgang til kontrolleren via nettleseren og ser deretter cachen gjennom Redis-klienten.

spring redis har to maler, StringRedisTemplate og RedisTemplate, vi tester dataene gjennom disse to malene, og setter inn itsvse- og itsvse2-nøkkel-verdi-parene som følger:



Vi satte inn samme verdi, hvorfor er ikke bare verdiverdiformatet forskjellig, men også nøkkelgenereringsreglene er forskjellige.(Innlegget sier nedenfor)

Kort analyse av prinsippene

Se på hva serialiseringen RedisTemplate og StringRedisTemplate bruker.

Du kan se at StringRedisTemplate er en arvet RedisTemplate. Deretter sett strengserialiseringsmetoden til å bruke StringRedisSerializer.

RedisSerializer.string() kildekode:


UTF_8 Definisjon:
La oss deretter se på serialiseringskoden til RedisTemplate, og du kan se at standarden er å bruke JDK-serialiseringsmetoden JdkSerializationRedisSerializer:



Å søke i kildekoden viser at RedisTemplate bruker JdkSerializationRedisSerializer for serialisering som standard, mens StringRedisTemplate bruker StringRedisSerializer.

Merk også:Dataene fra de to er ikke felles; Dette betyr at StringRedisTemplate kun kan administrere dataene i StringRedisTemplate, og RedisTemplate kun kan administrere dataene i RedisTemplate.

Dette forklarer at vi nettopp utførte addisjonsoperasjonen gjennom malen, og at det finnes forskjellige dataformater.

Slå av serialiseringsmodus

Hvis du ikke vil bruke standard serialiseringsmetode, hvis vi bruker fastjson, må du tilpasse RedisTemplate-bønnen for å erstatte den opprinnelige bønnen som springboot injiserte:



(Slutt)




Foregående:Grasrota ser på talent, mellomnivået ser på dyd, og toppnivået ser på sinnet
Neste:Mislyktes i å laste filer eller samlinger fra Microsoft.Web.Infrastructure-løsninger
Ansvarsfraskrivelse:
All programvare, programmeringsmateriell eller artikler publisert av Code Farmer Network er kun for lærings- og forskningsformål; Innholdet ovenfor skal ikke brukes til kommersielle eller ulovlige formål, ellers skal brukerne bære alle konsekvenser. Informasjonen på dette nettstedet kommer fra Internett, og opphavsrettstvister har ingenting med dette nettstedet å gjøre. Du må fullstendig slette innholdet ovenfor fra datamaskinen din innen 24 timer etter nedlasting. Hvis du liker programmet, vennligst støtt ekte programvare, kjøp registrering, og få bedre ekte tjenester. Hvis det foreligger noen krenkelse, vennligst kontakt oss på e-post.

Mail To:help@itsvse.com