Prostředí:Spring boot 2.1.1.RELEASE pom.xml Přidejte odkaz, který se konfiguruje následovně:
V application.properties jej nakonfigurujte následovně:
Napište testovací řadič:
K řadiči přistupujeme přes prohlížeč a pak si prohlížíme cache přes klienta Redis.
spring redis má dvě šablony, StringRedisTemplate a RedisTemplate, data testujeme přes tyto dvě šablony a vkládáme dvojice klíč-hodnota itssve a itsvse2 následovně:
Vložili jsme stejnou hodnotu, proč je nejen formát hodnoty odlišný, ale i pravidla generování klíčů jsou odlišná.(Příspěvek uvádí níže)
Stručná analýza principů
Podívej se, co používají serializace RedisTemplate a StringRedisTemplate.
Vidíte, že StringRedisTemplate je zděděný RedisTemplate. Poté nastavte metodu serializace řetězců tak, aby používala StringRedisSerializer.
Zdrojový kód RedisSerializer.string():
UTF_8 Definice:
Dále se podívejme na serializační kód RedisTemplate a můžete vidět, že výchozí je použít metodu serializace JDK JdkSerializationRedisSerializer:
Dotazování do zdrojového kódu ukazuje, že RedisTemplate ve výchozím nastavení používá JdkSerializationRedisSerializer pro serializaci, zatímco StringRedisTemplate používá StringRedisSerializer.
Také poznámka:Data obou nejsou běžná; To znamená, že StringRedisTemplate může spravovat pouze data ve StringRedisTemplate a RedisTemplate pouze data v RedisTemplate.
To vysvětluje, že jsme operaci sčítání provedli pouze přes šablonu a existují různé formáty dat.
Přepněte režim serializace
Pokud nechcete použít výchozí metodu serializace, pokud použijeme fastjson, musíte přizpůsobit RedisTemplate bean tak, aby nahradil původní bean injektovaný springbootem:
(Konec)
|