java

SpringBoot+集成Redis

rzk · 5月31日 · 2020年本文共1221个字 · 预计阅读5分钟83次已读

##查看Redis源码

在SpringBoot找到自动配置类的包
查一下RedisAutoConfiguration类

@Configuration(proxyBeanMethods = false)
@ConditionalOnClass(RedisOperations.class)
@EnableConfigurationProperties(RedisProperties.class)
@Import({ LettuceConnectionConfiguration.class, JedisConnectionConfiguration.class })
public class RedisAutoConfiguration {

    @Bean
    @ConditionalOnMissingBean(name = "redisTemplate") //可以自己定义一个redisTemplate来替换这个默认的
    public R睿共享edisTemplate<睿共享Object, Object> redisTemplate(Redis睿共享ConnectionFactory redisConnectionFactory)
            throws UnknownHostException {
                //默认的RedisTemplate 没有过多的设置,redis  对象都是需要序列化
                //两个泛型都是  Object  类型 ,我们后面使用的话需要强制转换<String ,Object>
        RedisTemplate<Object, Object> template = new RedisTemplate<>();
        template.setConnectionFactory(redisConnectionFactory);
        return template;
    }

    @Bean
    @ConditionalOnMissingBean  //这个StringRedisTempl睿共享ate是很常用使用的类型,所以单独提出来一个Bean
    public StringRedisTemplate stringRedisTemplate(RedisConnectionFactory redisConnectionFactory)
            throws UnknownHostException {
        StringRedisTemplate template = new StringRedisTemplate();
        template.setConnectionFactory(redisConnectionFactory);
        return template;
    }
}

导入依赖

org.springframework.boot
睿共享 spring-boot-starter-data-redis

他的底层是
spring-data-redis

org.springframework.data
spring-data-redis
compile

##配置
spring.redis.host=127.0.0.1
spring.redis.port=6379

0 条回应