Skip to content

Spring Boot integration with Redis

Overview

This tutorial is introduction to Spring Boot integration Redis by Spring Data Redis, which provider the abstrations of the Spring Data platform to Redis, the popular in-memory data structure store.

Maven Dependencies

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

Redis Configuration

java
@AutoConfiguration
public class RedisConfig {

    @Bean
    public RedisTemplate<String,Object> redisTemplate(LettuceConnectionFactory lettuceConnectionFactory){
        RedisTemplate<String, Object> redisTemplate = new RedisTemplate<>();
        redisTemplate.setConnectionFactory(lettuceConnectionFactory);
        //set key serializer method String
        redisTemplate.setKeySerializer(new StringRedisSerializer());
        //set value serializer json,use GenericJackson2JsonRedisSerializer替换replace default serializer
        redisTemplate.setValueSerializer(new GenericJackson2JsonRedisSerializer());
        redisTemplate.setHashKeySerializer(new StringRedisSerializer());
        redisTemplate.setHashValueSerializer(new GenericJackson2JsonRedisSerializer());
        redisTemplate.afterPropertiesSet();
        return redisTemplate;
    }
}

setting properties in application.yml

yml
spring:
  redis:
    host: 127.0.0.1
    port: 6379

Using template

if you have complete these step, now, you can Autowired the Redistemplate , for example next

java
@SpringBootTest
public class RedisTest {

   @Autowired
   private RedisTemplate redisTemplate;

   @Test
   public void set() {
       redisTemplate.opsForValue().set("name","lcd");
   }


   @Test
   public void get() {
       String name = (String) redisTemplate.opsForValue().get("name");
       System.out.println("name");
       Assertions.assertEquals(name,"lcd");
   }
}

Conclusion

In this article. we went through the basic of Spring Boot Data Redis.

Released under the MIT License.