美文网首页
Spring boot整合Redis

Spring boot整合Redis

作者: i小雨 | 来源:发表于2020-12-07 10:12 被阅读0次

1、导包

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-redis</artifactId>
        </dependency>

2、查看redis的自动配置类:RedisAutoConfiguration

图片.png
自动配置文件:RedisProperties
图片.png

问题:

  • 默认的ReidisTemplate设置的是JDK的序列化方式。
  • 默认的两个泛型都是Object,我们使用需要强制转换<String,Object>
    RedisTemplate<Object, Object> ——>RedisTemplate<String, Object>

3、自定义redisTemplate

配置连接:

spring:
  redis:
    host: 129.204.213.64
    port: 6379  #默认的就是6379,可以不需要配置这一项
@Configuration
public class RedisConfig {

    //固定模板
    //自定义自己的redisTemplate
    @Bean
    public RedisTemplate<String,Object> redisTemplate(RedisConnectionFactory factory){
        //为了开发方便直接使用<String,Object>
        RedisTemplate<String,Object> redisTemplate = new RedisTemplate<>();

        redisTemplate.setConnectionFactory(factory);
        //设置序列化方式为jackson的序列化方式
        Jackson2JsonRedisSerializer jackson2JsonRedisSerializer = new Jackson2JsonRedisSerializer(Object.class);
        ObjectMapper om = new ObjectMapper();
        om.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY);
        om.enableDefaultTyping(ObjectMapper.DefaultTyping.NON_FINAL);
        jackson2JsonRedisSerializer.setObjectMapper(om);
        //配置具体的序列化方式
        redisTemplate.setKeySerializer(jackson2JsonRedisSerializer);

        //string的序列化
        StringRedisSerializer stringRedisSerializer = new StringRedisSerializer();
        //key采用string的序列化方式
        redisTemplate.setKeySerializer(stringRedisSerializer);
        //hash的key采用string的序列化方式
        redisTemplate.setHashKeySerializer(stringRedisSerializer);
        //value采用Jackson的序列化方式
        redisTemplate.setValueSerializer(jackson2JsonRedisSerializer);
        //hash的value采用Jackson的序列化方式
        redisTemplate.setHashValueSerializer(jackson2JsonRedisSerializer);
        redisTemplate.afterPropertiesSet();


        return redisTemplate;

    }

}

相关文章

网友评论

      本文标题:Spring boot整合Redis

      本文链接:https://www.haomeiwen.com/subject/rtciwktx.html