Heim  >  Artikel  >  Datenbank  >  Wie SpringBoot die Redis-Betriebs-API integriert

Wie SpringBoot die Redis-Betriebs-API integriert

PHPz
PHPznach vorne
2023-05-29 18:19:131032Durchsuche

SpringDataRedis nennt die zugrunde liegende Interpretation von Redis

  • Vor SpringBoot2: Die Verwendung einer direkten Verbindung, Multithread-Betrieb ist unsicher, verwenden Sie den Jedis-Pool-Verbindungspool; Netty wird als unterste Ebene verwendet und Instanzen können von mehreren Threads gemeinsam genutzt werden. Aus Sicherheitsgründen kann die Anzahl der Threads reduziert werden. NIO integriert Redis (Quellcode-Analyse).

  • Alle Konfigurationsklassen von SpringBoot verfügen über eine automatische Konfigurationsklasse.

  • Die automatischen Konfigurationsklassen werden an eine Eigenschaftendatei gebunden , suchen Sie darin nach redis, finden Sie AutoConfigurationWie SpringBoot die Redis-Betriebs-API integriert

    • Drücken Sie Strg+Klick, um die Klasse aufzurufen

Finden Sie redisproperties.class
  • Strg+ Zum Eingeben klicken
  • Wie SpringBoot die Redis-Betriebs-API integriert

  • Es gibt alle Redis-bezogenen Konfigurationen. Werfen Sie zunächst einen kurzen Blick darauf. Wir werden später über die anderen sprechen
  • Wie SpringBoot die Redis-Betriebs-API integriert

    Aber das Standard-RedisTemplate weist einige Probleme auf. Sein Schlüssel ist vom Typ Object, aber die allgemeinen Schlüssel, die wir erwarten, sind vom Typ String, der obligatorische Typen erfordert. Sie können ihn also wie oben erwähnt definieren RedisTemplate selbst
  • Wenn Sie den Verbindungspool konfigurieren müssen, konfigurieren Sie Redis nicht direkt.
  • Wie SpringBoot die Redis-Betriebs-API integriertInjection anzeigen Es gibt zwei Unterklassen von RedisConnectionFactory

  • Wie SpringBoot die Redis-Betriebs-API integriert, nämlich JedisConnectionFactory und LettuceConnectionFactory, da die JedisConnectionFactory-Klasse von vielen Klassen abhängt, die nicht direkt verwendet werden können

  • sind alle rot umrandet und die Abhängigkeiten in lettuceConnectionFactory sind alle vorhanden Wie SpringBoot die Redis-Betriebs-API integriert

  • also verwenden Sie bei der Konfiguration die Wie SpringBoot die Redis-Betriebs-API integriert

  • von lettuce jedis direkt konfigurierenWie SpringBoot die Redis-Betriebs-API integriert

  • SpringBoot integriert Redis (Konfiguration)

  • yml
  • Kopieren Sie Eigenschaften, um eine Konfigurationsdatei im YML-Format zu erstellen. Ich mag YML immer noch sehr
  • Wie SpringBoot die Redis-Betriebs-API integriert

  • spring:
      redis:
        host: localhost
        port: 6379
  • Maven
  • 在项目创建的时候选择,如果没有选择就添加
    <dependency>
      <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-data-redis</artifactId>
    </dependency>

    Schreibe eine testWie SpringBoot die Redis-Betriebs-API integriert

  • Öffnen Sie die standardmäßig von SpringBoot erstellte Testklasse Beispiel , opsForValue arbeitet mit Zeichenfolgen

  • Dann ist die nachfolgende Anwendung dieselbe wie die zuvor geschriebene API

  • Wie SpringBoot die Redis-Betriebs-API integriert

  • 常用的操作可以直接点就可以了

  • 关于事物的

redisTemplate.unwatch();
redisTemplate.watch("key");
redisTemplate.multi();
redisTemplate.discard();
redisTemplate.exec();

关于数据库的操作需要获取链接后使用连接对象操作

RedisConnection connection = redisTemplate.getConnectionFactory().getConnection();connection.flushAll();connection.flushDb();connection.close();

测试代码及其执行结果

package co.flower.redis02springboot;import org.junit.jupiter.api.Test;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.boot.test.context.SpringBootTest;import org.springframework.data.redis.connection.RedisConnection;import org.springframework.data.redis.core.RedisTemplate;

@SpringBootTestclass Redis02SpringbootApplicationTests {/** * 我居然直接就指定了泛型 RedisTemplate<String,Object>结果就直接报错了,删除泛型后成功     */@Autowiredprivate RedisTemplate redisTemplate;

    @Testvoid contextLoads() {// 英文测试redisTemplate.opsForValue().set("name","xiaojiejie");
        System.out.println(redisTemplate.opsForValue().get("name"));// 中文测试redisTemplate.opsForValue().set("name","小姐姐");
        System.out.println(redisTemplate.opsForValue().get("name"));
    }

}

执行结果,SpringBoot的启动加载和结束销毁没有粘贴/***SpringBootStart****/xiaojiejie
小姐姐/***SpringBootStop*****/

Das obige ist der detaillierte Inhalt vonWie SpringBoot die Redis-Betriebs-API integriert. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:yisu.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen