Beispielcode-Analyse für den Redis-Cache
Jun 03, 2023 pm 08:37 PM1. Einführung
1. Szenario
Da sich das Datenwörterbuch nicht sehr häufig ändert und das System häufiger auf das Datenwörterbuch zugreift, müssen wir die Daten im Datenwörterbuch im Cache speichern, um die Datenbank zu reduzieren Druck und Verbesserung der Zugriffsgeschwindigkeit. Hier verwenden wir Redis als verteilte Cache-Middleware des Systems.
2. RedisTemplate
Spring Data Redis ist standardmäßig in Redis integriert und kann den Verbindungspool automatisch verwalten.
2. Redis in das Projekt integrieren
Fügen Sie eine Redis-Abhängigkeit im Service-Basismodul 2.0 hinzu und verbinden Sie sich standardmäßig mit Redis2 Redis-Verbindungskonfiguration
Service – Fügen Sie die folgende Konfiguration zu application.yml von -core hinzu
#Spring:Redis:
Host: 192.168.100.100Port: 6379#Starten Sie den Dienst -server redis.confDatenbank: 0
Passwort: 123456 #Standard ist leer
Timeout: 3000 ms #Maximale Wartezeit. Bei einer Zeitüberschreitung wird eine Ausnahme ausgelöst, andernfalls wartet die Anfrage weiter
lettuce:
pool:
max-active: 20 #Maximale Anzahl von Verbindungen, negativer Wert bedeutet keine Begrenzung, Standard 8
max-wait: -1 #Maximale Blockierwartezeit, negativer Wert Zeigt keine Begrenzung an, Standard -1
max-idle: 8 #Maximale Leerlaufverbindung, Standard 8
Min-idle: 0 #Minimale Leerlaufverbindung, Standard 0
3. Starten Sie den Redis-Dienst. Stellen Sie eine Remoteverbindung zum Linux-Server her, hier lokal. Verwenden Sie Redis auf der virtuellen Centos-Maschine.
3. Testen Sie RedisTemplate
1. Erstellen Sie die Testklasse RedisTemplateTests in test2. Fügen Sie RedisConfig zur Redis-Konfigurationsdatei hinzuservice-base. und der Wert verwendet JSON-Speicher Befolgen Sie die Prozesse normal, damit das Unternehmen normal laufen kann<!-- spring boot redis缓存引入 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> </dependency> <!-- 缓存连接池--> <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-pool2</artifactId> </dependency> <!-- redis 存储 json序列化 --> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> </dependency> <dependency> <groupId>com.fasterxml.jackson.datatype</groupId> <artifactId>jackson-datatype-jsr310</artifactId> </dependency>Nach dem Login kopieren
Ich habe festgestellt, dass RedisTemplate standardmäßig die JDK-Serialisierungsmethode verwendet, um Schlüssel und Werte zu speichern ist nicht lesbar
@SpringBootTest @RunWith(SpringRunner.class) public class RedisTemplateTests { @Resource private RedisTemplate redisTemplate; @Resource private DictMapper dictMapper; @Test public void saveDict(){ Dict dict = dictMapper.selectById(1); //向数据库中存储string类型的键值对, 过期时间5分钟 redisTemplate.opsForValue().set("dict", dict, 5, TimeUnit.MINUTES); } }
(4) Konfigurieren Sie den Serializer entsprechend Ihren eigenen Anforderungen, andernfalls wird standardmäßig der JDK-Serializer verwendet.
Redis-Geschäftszusammenfassung:
(1) Fragen Sie zunächst ab, ob in Redis entsprechende Cache-Informationen vorhanden sind. Wenn dies der Fall ist, werden diese direkt ohne Ausführung abgerufen und zurückgegeben. (2) Wenn Redis aus irgendeinem Grund nicht verbunden werden kann, z Als Ausfallzeit drucken Sie zu diesem Zeitpunkt das Fehlerprotokoll und fragen weiterhin die Datenbank ab.
(2) Wenn nicht, fragen Sie die Datenbank ab, speichern Sie die Daten in Redis und geben Sie die Daten zurück.
Das obige ist der detaillierte Inhalt vonBeispielcode-Analyse für den Redis-Cache. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heißer Artikel

Hot-Tools-Tags

Heißer Artikel

Heiße Artikel -Tags

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

Lösung für den Fehler 0x80242008 bei der Installation von Windows 11 10.0.22000.100

Analysieren Sie PHP-Funktionsengpässe und verbessern Sie die Ausführungseffizienz

Golang API-Caching-Strategie und -Optimierung

Ist Redis eine nicht relationale Datenbank?

Caching-Mechanismus und Anwendungspraxis in der PHP-Entwicklung

Welches hat die bessere Leistung, Erlang oder Golang?
