Spring Boot 整合多 Redis 数据源配置及操作
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Primary;
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 = "firstRedisConnectionFactory")
public LettuceConnectionFactory firstRedisConnectionFactory() {
LettuceConnectionFactory lettuceConnectionFactory = new LettuceConnectionFactory();
lettuceConnectionFactory.setHostName("your-first-redis-host");
lettuceConnectionFactory.setPort(6379);
return lettuceConnectionFactory;
}
@Bean(name = "secondRedisConnectionFactory")
public LettuceConnectionFactory secondRedisConnectionFactory() {
LettuceConnectionFactory lettuceConnectionFactory = new LettuceConnectionFactory();
lettuceConnectionFactory.setHostName("your-second-redis-host");
lettuceConnectionFactory.setPort(6379);
return lettuceConnectionFactory;
}
@Bean(name = "redisTemplate")
public RedisTemplate<String, Object> redisTemplate() {
RedisTemplate<String, Object> template = new RedisTemplate<>();
template.setConnectionFactory(firstRedisConnectionFactory());
return template;
}
@Bean(name = "stringRedisTemplate")
public StringRedisTemplate stringRedisTemplate() {
StringRedisTemplate template = new StringRedisTemplate();
template.setConnectionFactory(secondRedisConnectionFactory());
return template;
}
@Primary
@Bean(name = "primaryRedisTemplate")
public RedisTemplate<String, Object> primaryRedisTemplate(
@Qualifier("firstRedisConnectionFactory") RedisConnectionFactory firstRedisConnectionFactory) {
RedisTemplate<String, Object> template = new RedisTemplate<>();
template.setConnectionFactory(firstRedisConnectionFactory);
return template;
}
@Primary
@Bean(name = "primaryStringRedisTemplate")
public StringRedisTemplate primaryStringRedisTemplate(
@Qualifier("secondRedisConnectionFactory") RedisConnectionFactory secondRedisConnect
评论已关闭