content: package com.example.demo.config;
  
  import org.springframework.context.annotation.Bean;
  import org.springframework.context.annotation.Configuration;
  import org.springframework.data.redis.connection.RedisConnectionFactory;
  import org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory;
  import org.springframework.data.redis.core.RedisKeyValueAdapter;
  import org.springframework.data.redis.core.RedisTemplate;
  import org.springframework.data.redis.repository.configuration.EnableRedisRepositories;
  import org.springframework.data.redis.serializer.StringRedisSerializer;
  
  @Configuration
  @EnableRedisRepositories(enableKeyspaceEvents = RedisKeyValueAdapter.EnableKeyspaceEvents.ON_STARTUP)
  class RedisConfig {
      @Bean
      public LettuceConnectionFactory redisConnectionFactory() {
          return new LettuceConnectionFactory();
      }
  
      @Bean
      public RedisTemplate<String, Object> redisTemplate(
              RedisConnectionFactory redisConnectionFactory) {
          RedisTemplate<String, Object> redisTemplate = new RedisTemplate<>();
  
          redisTemplate.setConnectionFactory(redisConnectionFactory);
  
          redisTemplate.setKeySerializer(new StringRedisSerializer());
          redisTemplate.setValueSerializer(new StringRedisSerializer());
  
          redisTemplate.setHashKeySerializer(new StringRedisSerializer());
          redisTemplate.setHashValueSerializer(new StringRedisSerializer());
  
          return redisTemplate;
      }
  }
  