반응형
개발환경
- window
- spring boot 2.3.1
- spring data redis 2.3.1
- commons-pool2 2.8.0 (org.apache)
- lettuce-core 5.3.1 (io.lettuce)
- gradle
Spring Boot환경에서는 Redis를 적용하기 매우 쉽습니다.
아래의 의존성이 필요합니다.
의존성을 추가한후 Gradle reimport를 해줍니다.
아래와같이 Config파일을 설정해줍니다.
@Configuration
@EnableRedisRepositories
public class RedisConfig {
private RedisConnectionFactory redisConnectionFactory;
@Autowired
public RedisConfig(RedisConnectionFactory redisConnectionFactory) {
LettuceConnectionFactory lettuceConnectionFactory = (LettuceConnectionFactory)redisConnectionFactory;
this.redisConnectionFactory = lettuceConnectionFactory;
}
@Bean
public RedisTemplate<String, Object> redisTemplate(){
RedisTemplate<String, Object> redisTemplate = new RedisTemplate<>();
redisTemplate.setConnectionFactory(redisConnectionFactory);
redisTemplate.setKeySerializer(new StringRedisSerializer());
redisTemplate.setValueSerializer(new GenericJackson2JsonRedisSerializer());
return redisTemplate;
}
}
끝입니다. 정말쉽죠 ?
진짜 제대로 되는지 테스트코드를 통해 검증해보겠습니다.
@SpringBootTest
class RedisConfigTest {
@Autowired
RedisTemplate<String, Object> redisTemplate;
public void setup() {
for (int i = 0; i < 10; i++) {
redisTemplate.opsForList().rightPush(""+i, String.valueOf(i));
}
}
@Test
@DisplayName("레디스 테스트")
public void redisTest () throws Exception{
// given
setup();
//then
for (int i = 0; i < 10; i++) {
System.out.println("get value "+i+": "+ redisTemplate.opsForList().leftPop(""+i));
}
}
}
위와같은 테스트코드 작성후 실행시켜보면 아래와 같이 통과하는것을 볼 수 있습니다.
Spring Boot 환경에서 Redis를 사용하는일은 정말 쉽습니다.
다만 잘 사용하기가 어려운것 같습니다.
Spring 환경에서 대표적으로 lettuce, jedis 가 있습니다.
두개의 장단점이 있지만 일반적으로 lettuce를 사용하는것으로 알고있습니다.
각자의 환경에 맞게 잘 알아보고 사용하는것이 중요할 것 같습니다.
반응형
'개발 > Spring' 카테고리의 다른 글
[Junit5] org.junit.platform.commons.JUnitException: @BeforeAll method must be static unless the test class is annotated with @TestInstance(Lifecycle.PER_CLASS). (0) | 2020.11.09 |
---|---|
[Junit5] 아직도 @RunWith(SpringRunner.class)를 쓰는가? (0) | 2020.11.01 |
[Spring Security] Custom Login 만들기 (2) | 2020.07.12 |
[Spring] Security를 적용한채로 TEST 해보기 (0) | 2020.06.28 |
[Spring] css파일을 못찾을때 (1) | 2020.05.16 |
댓글