content: package com.seezoon.framework.component;
  
  import org.springframework.context.annotation.Bean;
  import org.springframework.context.annotation.Configuration;
  import org.springframework.data.redis.connection.RedisConnectionFactory;
  import org.springframework.data.redis.core.RedisTemplate;
  import org.springframework.data.redis.serializer.GenericJackson2JsonRedisSerializer;
  import org.springframework.data.redis.serializer.StringRedisSerializer;
  
  /**
   * RedisTemplate 等自定义，主要修改序列化方式
   *
   * @author hdf
   */
  @Configuration(proxyBeanMethods = false)
  public class RedisCustomConfiguration {
  
      @Bean
      public RedisTemplate<String, ?> redisTemplate(RedisConnectionFactory redisConnectionFactory) {
          RedisTemplate<String, ?> redisTemplate = new RedisTemplate<>();
          redisTemplate.setConnectionFactory(redisConnectionFactory);
  
          StringRedisSerializer stringRedisSerializer = new StringRedisSerializer();
          redisTemplate.setConnectionFactory(redisConnectionFactory);
          redisTemplate.setKeySerializer(stringRedisSerializer);
          redisTemplate.setHashKeySerializer(stringRedisSerializer);
          GenericJackson2JsonRedisSerializer genericJackson2JsonRedisSerializer =
              new GenericJackson2JsonRedisSerializer();
          redisTemplate.setDefaultSerializer(genericJackson2JsonRedisSerializer);
          redisTemplate.setValueSerializer(genericJackson2JsonRedisSerializer);
          redisTemplate.setHashValueSerializer(genericJackson2JsonRedisSerializer);
          return redisTemplate;
      }
  }
  