美文网首页springboot2.0
springboot 2.x整合redis

springboot 2.x整合redis

作者: Hansn | 来源:发表于2018-12-22 15:09 被阅读107次

    引入redis依赖

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

    设置连接redis的配置

    Redis配置

    spring.redis.port=6379
    spring.redis.host=your host
    spring.redis.password=your password
    

    配置redis连接

    @Configuration
    public class RedisConfig {
    
        @Bean
        public RedisTemplate<Object, Object> redisTemplate(RedisConnectionFactory redisConnectionFactory) {
            RedisTemplate<Object, Object> redisTemplate = new RedisTemplate<>();
            redisTemplate.setConnectionFactory(redisConnectionFactory);
    
            // 使用Jackson2JsonRedisSerialize 替换默认的jdkSerializeable序列化
            Jackson2JsonRedisSerializer jackson2JsonRedisSerializer = new Jackson2JsonRedisSerializer(Object.class);
    
            ObjectMapper objectMapper = new ObjectMapper();
            objectMapper.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY);
            objectMapper.enableDefaultTyping(ObjectMapper.DefaultTyping.NON_FINAL);
    
            jackson2JsonRedisSerializer.setObjectMapper(objectMapper);
    
            // 设置value的序列化规则和 key的序列化规则
            redisTemplate.setKeySerializer(new StringRedisSerializer());
            redisTemplate.setValueSerializer(jackson2JsonRedisSerializer);
            redisTemplate.afterPropertiesSet();
            return redisTemplate;
        }
    }
    

    开始使用

    @RunWith(SpringRunner.class)
    @SpringBootTest
    public class SpringbootRedisApplicationTests {
    
        @Autowired
        private RedisTemplate redisTemplate;
        @Test
        public void contextLoads() {
    
            redisTemplate.opsForValue().set("name","hansn");
            String s = (String) redisTemplate.opsForValue().get("name");
            System.out.println(s);
    
            //设置过期时间
            redisTemplate.opsForValue().set("name1","hansn007",10,TimeUnit.MINUTES);
            String s1 = (String) redisTemplate.opsForValue().get("name1");
            System.out.println(s1);
        }
    
    }
    

    相关文章

      网友评论

        本文标题:springboot 2.x整合redis

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