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 AutoConfiguration
Injection anzeigen Es gibt zwei Unterklassen von RedisConnectionFactory
, 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
also verwenden Sie bei der Konfiguration die
von lettuce jedis direkt konfigurieren
SpringBoot integriert Redis (Konfiguration)
spring: redis: host: localhost port: 6379
在项目创建的时候选择,如果没有选择就添加
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> </dependency>
Schreibe eine test
常用的操作可以直接点就可以了
关于事物的
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!