springboot 集成 redis 持久化缓存

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

一、引入依赖配置


    org.springframework.boot
    spring-boot-starter-redis
    1.4.5.RELEASE

二、创建redis配置类

@Configuration
@EnableCaching
public class RedisConfig extends CachingConfigurerSupport {

    @Override
    @Bean
    public KeyGenerator keyGenerator() {
        return new KeyGenerator() {
            @Override
            public Object generate(Object target, Method method, Object... params) {
                StringBuilder sb = new StringBuilder();
                sb.append(target.getClass().getName());
                sb.append(method.getName());
                for (Object obj : params) {
                    sb.append(obj.toString());
                }
                return sb.toString();
            }
        };
    }

    @SuppressWarnings("rawtypes")
    @Bean
    public CacheManager cacheManager(RedisTemplate redisTemplate) {
        RedisCacheManager rcm = new RedisCacheManager(redisTemplate);
        //设置缓存过期时间
        //rcm.setDefaultExpiration(60);//秒
        return rcm;
    }

    @Bean
    public RedisTemplate redisTemplate(RedisConnectionFactory factory) {
        StringRedisTemplate template = new StringRedisTemplate(factory);
        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);
        template.setValueSerializer(jackson2JsonRedisSerializer);
        template.afterPropertiesSet();
        return template;
    }
}

三、创建测试类

@Resource
private RedisTemplate redisTemplate;

public void redisStr() {
    ValueOperations operations = redisTemplate.opsForValue();
    operations.set("springboot", "这是一个springboot集成redis的测试数据,字符串操作。");
    System.out.println(operations.get("springboot"));
}

 

转载于:https://my.oschina.net/MinghanSui/blog/1615713

你可能感兴趣的:(springboot 集成 redis 持久化缓存)