赞
踩
背景:公司项目有两个 redis
,一个是 sso
使用,一个是业务使用,为了区分,需要自定义 RedisTemplate
RedisTemplate
import org.springframework.data.redis.core.StringRedisTemplate;
/**
* @author liuyuan
* @version ItemBuyerRedisTemplate.java, v 0.1 2024-03-15 16:27
*/
public class ItemBuyerRedisTemplate extends StringRedisTemplate {
}
RedisTemplate
import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.autoconfigure.condition.ConditionalOnSingleCandidate; 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.RedisStandaloneConfiguration; import org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory; import org.springframework.data.redis.core.StringRedisTemplate; /** * @author liuyuan * @version ItemRedisConfiguration.java, v 0.1 2024-03-15 15:49 */ @Configuration public class ItemRedisConfiguration { @Value("${item.buyer_redis_host}") private String buyerRedisHost; @Value("${spring-redis-port:6379}") private int buyerRedisPort; @Value("${spring-redis-database:1}") private int buyerRedisDatabase; @Bean public ItemBuyerRedisTemplate itemBuyerRedisTemplate() { RedisStandaloneConfiguration redisStandaloneConfiguration = new RedisStandaloneConfiguration(); redisStandaloneConfiguration.setHostName(buyerRedisHost); redisStandaloneConfiguration.setPort(buyerRedisPort); redisStandaloneConfiguration.setDatabase(buyerRedisDatabase); LettuceConnectionFactory lettuceConnectionFactory = new LettuceConnectionFactory(redisStandaloneConfiguration); // 初始化 lettuceConnectionFactory.afterPropertiesSet(); ItemBuyerRedisTemplate stringRedisTemplate = new ItemBuyerRedisTemplate(); stringRedisTemplate.setConnectionFactory(lettuceConnectionFactory); return stringRedisTemplate; } @Primary @Bean @ConditionalOnSingleCandidate(RedisConnectionFactory.class) public StringRedisTemplate stringRedisTemplate(RedisConnectionFactory redisConnectionFactory) { return new StringRedisTemplate(redisConnectionFactory); } }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。