Heim > Datenbank > Redis > Hauptteil

Beispielcode-Analyse für den Redis-Cache

王林
Freigeben: 2023-06-03 20:37:56
nach vorne
1489 Leute haben es durchsucht

1. 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.100
Port: 6379

Datenbank: 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.

#Starten Sie den Dienst -server redis.conf

3. Testen Sie RedisTemplate

1. Erstellen Sie die Testklasse RedisTemplateTests in test

<!-- 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

2. Fügen Sie RedisConfig zur Redis-Konfigurationsdatei hinzu

service-base. und der Wert verwendet JSON-Speicher Befolgen Sie die Prozesse normal, damit das Unternehmen normal laufen kann

@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);
    }
}
Nach dem Login kopieren

Integrierte Redis-Zusammenfassung:

(1) Importieren Sie verwandte Abhängigkeiten; Werttest speichern;

Beispielcode-Analyse für den Redis-Cache (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!

Verwandte Etiketten:
Quelle:yisu.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage