一、几个依赖的关系
在spring与redis整合时有下面几种:
spring-boot-starter-data-redis
spring-boot-starter-redis
spring-data-redis
其中,spring-boot-starter-data-redis和spring-boot-starter-redis中都包含有spring-data-redis, 现在基本使用的都是 spring-boot-starter-data-redis
二、特点
1、默认使用lettuce
spring-boot-starter-data-redis默认是使用lettuce去访问redis
2、内置(String)RedisTemplate
内置了StringRedisTemplate和RedisTemplate,应用可以直接使用。而Jedis、Redisson还需要在此基础上增加额外的依赖。
三、用法
后面在使用到redis时(jedis除外),如RedisTeamplate、Redission以及redis的一些缓存框架mybatis cache、spring cache,redis的连接配置均使用该包即可:
(1)引入依赖
<!--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>
<version>2.11.1</version>
</dependency>
(2)配置属性
再在application配置文件配置相关属性,源码
package org.springframework.boot.autoconfigure.data.redis;
import java.time.Duration;
import java.util.List;
import org.springframework.boot.context.properties.ConfigurationProperties;
@ConfigurationProperties(
prefix = "spring.data.redis"
)
public class RedisProperties {
private int database = 0;
private String url;
private String host = "localhost";
private String username;
private String password;
private int port = 6379;
private Duration timeout;
private Duration connectTimeout;
private String clientName;
private ClientType clientType;
private Sentinel sentinel;
private Cluster cluster;
private final Ssl ssl = new Ssl();
private final Jedis jedis = new Jedis();
private final Lettuce lettuce = new Lettuce();
......
}
注意:如果不配置,默认以单节点形式无密码连接本地redis。
(3)使用
无需其他配置,即可直接注入Redis来使用了。