|
|
Veröffentlicht am 11.03.2019 16:48:17
|
|
|
|

Umgebung:Spring Boot 2.1.1.RELEASE pom.xml Fügen Sie eine Referenz hinzu und konfigurieren sie wie folgt:
In application.properties konfigurieren Sie es wie folgt:
Schreibe einen Testcontroller:
Wir greifen über den Browser auf den Controller zu und sehen uns dann den Cache über den Redis-Client an.
spring redis hat zwei Vorlagen, StringRedisTemplate und RedisTemplate, wir testen die Daten durch diese beiden Vorlagen und fügen die Schlüssel-Wert-Paare itsvse und itsvse2 wie folgt ein:
Wir haben denselben Wert eingefügt, warum nicht nur das Wert-Wert-Format unterschiedlich ist, sondern auch die Schlüsselgenerierungsregeln unterschiedlich sind.(Beitrag steht unten)
Kurze Analyse der Prinzipien
Schauen Sie sich an, welche Serialisierungen RedisTemplate und StringRedisTemplate verwenden.
Du siehst, dass StringRedisTemplate ein vererbtes RedisTemplate ist. Dann stellen Sie die String-Serialisierungsmethode so ein, dass sie StringRedisSerializer verwendet.
Quellcode von RedisSerializer.string():
UTF_8 Definition:
Als Nächstes werfen wir einen Blick auf den Serialisierungscode von RedisTemplate, und Sie sehen, dass standardmäßig die JDK-Serialisierungsmethode JdkSerializationRedisSerializer verwendet wird:
Eine Abfrage des Quellcodes zeigt, dass RedisTemplate standardmäßig JdkSerializationRedisSerializer für die Serialisierung verwendet, während StringRedisTemplate StringRedisSerializer verwendet.
Beachten Sie auch:Die Daten der beiden sind nicht gemeinsam; Das bedeutet, dass StringRedisTemplate nur die Daten in StringRedisTemplate verwalten kann und RedisTemplate nur die Daten in RedisTemplate.
Das erklärt, dass wir einfach die Additionsoperation über die Vorlage durchgeführt haben und es verschiedene Datenformate gibt.
Schalten Sie den Serialisierungsmodus um und her
Wenn du die Standard-Serialisierungsmethode nicht verwenden möchtest, musst du, falls wir fastjson verwenden, das RedisTemplate-Bean anpassen, um das ursprüngliche Bean, das von springboot injiziert wurde, zu ersetzen:
(Ende)
|
Vorhergehend:Die Basis schaut auf Talent, die mittlere Ebene auf Tugend, und die oberste Ebene auf den GeistNächster:Es konnte keine Dateien oder Assemblies von Microsoft.Web.Infrastructure-Lösungen geladen werden
|