SpringBoot连接多个Redis或者Redis里的多个不同的库_springboot 连接多个redis
在Spring Boot中,你可以通过配置多个RedisTemplate
或StringRedisTemplate
Bean来连接多个Redis数据库或不同的数据库。以下是一个配置示例:
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.redis.connection.RedisConnectionFactory;
import org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.core.StringRedisTemplate;
@Configuration
public class RedisConfig {
@Bean(name = "redisTemplate1")
public RedisTemplate<Object, Object> redisTemplate1() {
RedisTemplate<Object, Object> template = new RedisTemplate<>();
template.setConnectionFactory(connectionFactory1());
return template;
}
@Bean(name = "stringRedisTemplate1")
public StringRedisTemplate stringRedisTemplate1() {
StringRedisTemplate template = new StringRedisTemplate();
template.setConnectionFactory(connectionFactory1());
return template;
}
@Bean(name = "connectionFactory1")
public LettuceConnectionFactory connectionFactory1() {
LettuceConnectionFactory lettuceConnectionFactory = new LettuceConnectionFactory();
lettuceConnectionFactory.setHostName("redis1Host");
lettuceConnectionFactory.setPort(6379);
lettuceConnectionFactory.setDatabase(0);
lettuceConnectionFactory.setPassword("redis1Password");
return lettuceConnectionFactory;
}
// 同理配置第二个Redis连接
@Bean(name = "redisTemplate2")
public RedisTemplate<Object, Object> redisTemplate2() {
RedisTemplate<Object, Object> template = new RedisTemplate<>();
template.setConnectionFactory(connectionFactory2());
return template;
}
@Bean(name = "stringRedisTemplate2")
public StringRedisTemplate stringRedisTemplate2() {
StringRedisTemplate template = new StringRedisTemplate();
template.setConnectionFactory(connectionFactory2());
return template;
}
@Bean(name = "connectionFactory2")
public LettuceConnectionFactory connectionFactory2() {
LettuceConnectionFactory lettuceConnectionFactory = new LettuceCo
评论已关闭