ゼロからspring boot-集積redis


依存の追加


    org.springframework.boot
    spring-boot-starter-data-redis
    
        
            redis.clients
            jedis
        
        
            io.lettuce
            lettuce-core
        
    


    redis.clients
    jedis



    com.fasterxml.jackson.core
    jackson-core
    2.9.5


    com.fasterxml.jackson.core
    jackson-databind
    2.9.5


構成の追加
##       
spring.redis.host=
spring.redis.database=
spring.redis.port=
spring.redis.password=
spring.redis.timeout=

##      
spring.redis.jedis.pool.max-active=
spring.redis.jedis.pool.max-idle=
spring.redis.jedis.pool.max-wait=
spring.redis.jedis.pool.min-idle=

上の接続属性構成、spring data redisはすでにデフォルトの構成をしており、接続データがデフォルトの構成と同じであれば記入する必要はなく、下の接続プール構成もデフォルトの構成をしていますが、すべて記入しないと になります
beanを注入し,シーケンス化問題を解決する
redisTemplateのデフォルトでは、カスタムオブジェクトのシーケンス化はサポートされていないJdkSerializationRedisSerializerが使用されます.
@Configuration
public class RedisConfig {


    @Bean
    public RedisTemplate redisTemplate(RedisConnectionFactory connectionFactory){
        //     
        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
        RedisTemplate redisTemplate = new RedisTemplate<>();
        redisTemplate.setConnectionFactory(connectionFactory);
        redisTemplate.setKeySerializer(jackson2JsonRedisSerializer);
        redisTemplate.setValueSerializer(jackson2JsonRedisSerializer);
        redisTemplate.setHashKeySerializer(jackson2JsonRedisSerializer);
        redisTemplate.setHashValueSerializer(jackson2JsonRedisSerializer);
        redisTemplate.afterPropertiesSet();
        return redisTemplate;
    }
}

RedisTemplateを注入してredis操作を行う
@Autowired
private RedisTemplate redisTemplate;

redisTemplate.opsForValue().set("key", "value");