Ympäristö:spring boot 2.1.1.JULKAISU pom.xml Lisää viite ja konfiguroi se seuraavasti:
application.properties-osiossa konfiguroi se seuraavasti:
Kirjoita testiohjain:
Pääsemme ohjaimeen selaimen kautta ja katsomme välimuistia Redis-asiakasohjelman kautta.
spring redisissä on kaksi mallipohjaa, StringRedisTemplate ja RedisTemplate, testaamme dataa näiden kahden mallin kautta ja lisäämme itsvse- ja itsvse2-avain-arvoparit seuraavasti:
Lisäsimme saman arvon, miksi ei ainoastaan arvon arvon muoto ole erilainen, vaan myös avainten generoinnin säännöt ovat erilaiset.(Julkaisu sanoo alla)
Lyhyt analyysi periaatteista
Katso, mitä sarjoituksia RedisTemplate ja StringRedisTemplate käyttävät.
Näet, että StringRedisTemplate on peritty RedisTemplate. Aseta sitten merkkijonojen serialisointimenetelmäksi StringRedisSerializer.
RedisSerializer.string() lähdekoodi:
UTF_8 Määritelmä:
Seuraavaksi tarkastellaan RedisTemplaten serialisointikoodia, ja näet, että oletuksena käytetään JDK-serialisointimenetelmää JdkSerializationRedisSerializer:
Lähdekoodin kysely osoittaa, että RedisTemplate käyttää oletuksena JdkSerializationRedisSerializeria, kun taas StringRedisTemplate käyttää StringRedisSerializeria.
Huomaa myös:Näiden kahden tiedot eivät ole yleisiä; Tämä tarkoittaa, että StringRedisTemplate voi hallita vain StringRedisTemplaten tietoja, ja RedisTemplate vain RedisTemplaten tietoja.
Tämä selittää, että juuri suoritimme yhteenlaskun mallipohjan kautta, ja datamuotoja on erilaisia.
Kytke sarjallistumistila päälle
Jos et halua käyttää oletussarjallistamista, jos käytämme fastjsonia, sinun täytyy mukauttaa RedisTemplate-papua korvaamaan alkuperäinen springbootin injektioima:
(Loppu)
|