SpringBoot系列教程之RedisTemplate Jedis配置说明文档

98次阅读

共计 2487 个字符,预计需要花费 7 分钟才能阅读完成。

更多 Spring 文章,欢迎点击 一灰灰 Blog-Spring 专题

SpringBoot2 之后,默认采用 Lettuce 作为 redis 的连接客户端,当然我们还是可以强制捡回来,使用我们熟悉的 Jedis 的,本篇简单介绍下使用 Jedis 的相关配置
原文链接: 181101-SpringBoot 高级篇 Redis 之 Jedis 配置

I. 基本配置
1. 依赖
使用 Jedis 与 Lettuce 不同的是,需要额外的引入 Jedis 包的依赖
<dependencies>
<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>

<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
</dependency>
</dependencies>
2. 配置
redis 的相关配置,和前面的差不多,只是线程池的参数稍稍有点区别
spring:
redis:
host: 127.0.0.1
port: 6379
password:
database: 0
jedis:
pool:
max-idle: 6
max-active: 32
max-wait: 100
min-idle: 4
3. AutoConfig
与前面不同的是,我们需要定义一个 RedisConnectionFactory 的 bean 作为默认的连接工厂,以此来确定底层的连接采用的是 Jedis 客户端
@Configuration
public class RedisAutoConfig {

@Bean
public RedisConnectionFactory redisConnectionFactory(JedisPoolConfig jedisPool,
RedisStandaloneConfiguration jedisConfig) {
JedisConnectionFactory connectionFactory = new JedisConnectionFactory(jedisConfig);
connectionFactory.setPoolConfig(jedisPool);
return connectionFactory;
}

@Configuration
public static class JedisConf {
@Value(“${spring.redis.host:127.0.0.1}”)
private String host;
@Value(“${spring.redis.port:6379}”)
private Integer port;
@Value(“${spring.redis.password:}”)
private String password;
@Value(“${spring.redis.database:0}”)
private Integer database;

@Value(“${spring.redis.jedis.pool.max-active:8}”)
private Integer maxActive;
@Value(“${spring.redis.jedis.pool.max-idle:8}”)
private Integer maxIdle;
@Value(“${spring.redis.jedis.pool.max-wait:-1}”)
private Long maxWait;
@Value(“${spring.redis.jedis.pool.min-idle:0}”)
private Integer minIdle;

@Bean
public JedisPoolConfig jedisPool() {
JedisPoolConfig jedisPoolConfig = new JedisPoolConfig();
jedisPoolConfig.setMaxIdle(maxIdle);
jedisPoolConfig.setMaxWaitMillis(maxWait);
jedisPoolConfig.setMaxTotal(maxActive);
jedisPoolConfig.setMinIdle(minIdle);
return jedisPoolConfig;
}

@Bean
public RedisStandaloneConfiguration jedisConfig() {
RedisStandaloneConfiguration config = new RedisStandaloneConfiguration();
config.setHostName(host);
config.setPort(port);
config.setDatabase(database);
config.setPassword(RedisPassword.of(password));
return config;
}
}
}
4. 测试
测试主要就是查看下 RedisTemplate 的连接工厂类,到底是啥,简单的是截图如下

II. 其他
0. 项目

工程:spring-boot-demo

module: 121-redis-jedis-config

1. 一灰灰 Blog

一灰灰 Blog 个人博客 https://blog.hhui.top

一灰灰 Blog-Spring 专题博客 http://spring.hhui.top

一灰灰的个人博客,记录所有学习和工作中的博文,欢迎大家前去逛逛
2. 声明
尽信书则不如,以上内容,纯属一家之言,因个人能力有限,难免有疏漏和错误之处,如发现 bug 或者有更好的建议,欢迎批评指正,不吝感激

微博地址: 小灰灰 Blog

QQ:一灰灰 /3302797840

3. 扫描关注
一灰灰 blog

知识星球

正文完
 0