MAVEN依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-cache</artifactId>
</dependency>
<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>
application.yml配置文件
spring:
redis:
activity:
hostName: 127.0.0.1
port: 1000
password: dddsiedXdf
lettuce:
pool:
maxIdle: 10
minIdle: 0
maxTotal: 20
maxWaitMillis: 5000
配置类:
@Configuration
public class RedisConfig {
@Bean
@ConfigurationProperties(prefix = "spring.redis.lettuce.pool")
@Scope(value = "prototype")
public GenericObjectPoolConfig redisPool(){
return new GenericObjectPoolConfig();
}
@Bean
@ConfigurationProperties(prefix = "spring.redis.activity")
public RedisStandaloneConfiguration redisConf() {
return new RedisStandaloneConfiguration();
}
@Bean
@Primary
public LettuceConnectionFactory factory(GenericObjectPoolConfig config, RedisStandaloneConfiguration redisConf) {
LettuceClientConfiguration clientConfiguration = LettucePoolingClientConfiguration.builder()
.poolConfig(config).commandTimeout(Duration.ofMillis(config.getMaxWaitMillis())).build();
return new LettuceConnectionFactory(redisConf, clientConfiguration);
}
@Bean(name = "redisTemplate")
public StringRedisTemplate redisTemplateA(LettuceConnectionFactory factory) {
StringRedisTemplate template = new StringRedisTemplate(factory);
template.setKeySerializer(new StringRedisSerializer());
template.setValueSerializer(new StringRedisSerializer());
template.setHashValueSerializer(new StringRedisSerializer());
template.setHashKeySerializer(new StringRedisSerializer());
return template;
}
}
在业务类里引入redisTemplate:
@Resource
private RedisTemplate redisTemplate;
就可以使用了
本文介绍了如何在SpringBoot2应用中配置多个RedisTemplate,使用Lettuce作为Redis客户端。首先,添加了必要的Maven依赖,然后在`application.yml`文件中配置了Redis连接信息。接着,定义了一个配置类`RedisConfig`,在这个类中创建了`GenericObjectPoolConfig`和`RedisStandaloneConfiguration`,并基于这些配置创建了`LettuceConnectionFactory`。最后,通过`@Bean`注解创建了两个不同名称的`StringRedisTemplate`实例,分别配置了序列化方式,并在业务类中通过`@Resource`注入`redisTemplate`来使用。
401

被折叠的 条评论
为什么被折叠?



