Prostredie:Spring boot 2.1.1.RELEASE pom.xml Pridajte referenciu a nakonfigurujte ju nasledovne:
V application.properties ho nakonfigurujte nasledovne:
Napíšte testovací kontrolér:
K kontroléru pristupujeme cez prehliadač a potom si prezeráme cache cez klienta Redis.
spring redis má dve šablóny, StringRedisTemplate a RedisTemplate, testujeme dáta cez tieto dve šablóny a vkladáme dvojice itssve a itsvse2 kľúč-hodnota nasledovne:
Vložili sme rovnakú hodnotu, prečo je nielen formát hodnoty, hodnoty odlišný, ale aj pravidlá generovania kľúčov sú odlišné.(Príspevok uvádza nižšie)
Stručná analýza princípov
Pozrite sa, čo používajú serializácie RedisTemplate a StringRedisTemplate.
Vidíte, že StringRedisTemplate je zdedený RedisTemplate. Potom nastavte metódu serializácie reťazcov tak, aby používala StringRedisSerializer.
Zdrojový kód RedisSerializer.string():
UTF_8 Definícia:
Ďalej sa pozrime na serializačný kód RedisTemplate a môžete vidieť, že predvolené je používať metódu serializácie JDK JdkSerializationRedisSerializer:
Dotazovanie v zdrojovom kóde ukazuje, že RedisTemplate štandardne používa JdkSerializationRedisSerializer na serializáciu, zatiaľ čo StringRedisTemplate používa StringRedisSerializer.
Tiež si všimnite:Údaje o týchto dvoch nie sú bežné; To znamená, že StringRedisTemplate dokáže spravovať iba dáta v StringRedisTemplate a RedisTemplate iba dáta v RedisTemplate.
To vysvetľuje, že sme len vykonali operáciu sčítania cez šablónu a existujú rôzne dátové formáty.
Zapnite režim serializácie
Ak nechcete použiť predvolenú metódu serializácie, ak používame fastjson, musíte prispôsobiť RedisTemplate bean tak, aby nahradil pôvodný bean injektovaný springbootom:
(Koniec)
|