스프링 with redis

greenTea·2023년 6월 6일
0

스프링 with redis

😊프로젝트를 진행중 redis를 스프링에 접목 시키는 방법에 대해서 알아보았습니다. 스프링에 redis를 적용하는 방법은 아래와 같습니다. (redis가 가동되고 있다는 가정하에 진행하겠습니다.)


gradle 추가

implementation 'org.springframework.boot:spring-boot-starter-data-redis'

yml 파일

spring:
  data:
    redis:
      port: 6379
      host: localhost

위 설정은 기본값이므로 굳이 적지 않으셔도 됩니다.
위 설정외에도 다양한 기능을 넣을 수 있습니다.


config 파일


@Bean
public RedisConnectionFactory redisConnectionFactory() {
	return new LettuceConnectionFactory();
}
    
@Bean
public RedisTemplate<?,?> redisTemplate(RedisConnectionFactory redisConnectionFactory) {
    RedisTemplate<?, ?> template = new RedisTemplate<>();
    template.setConnectionFactory(redisConnectionFactory);

    template.setKeySerializer(new StringRedisSerializer());
    template.setValueSerializer(new StringRedisSerializer());

    template.setHashKeySerializer(new StringRedisSerializer());
    template.setHashValueSerializer(new StringRedisSerializer());

     return template;
}

위 설정 파일의 경우에도 직접 설정을 안 해주셔도 사용가능합니다.


redis 사용

@RequiredArgsConstructor
@RestController
@Slf4j
public class TestController {

    @PostMapping("/string")
    public String save1(String id) {
        redisTemplate.opsForValue().set("user"+id,id);
        return id;
    }

    @GetMapping("/string")
    public Set save2() {
        return redisTemplate.keys("*");
    }
 }

opsForValueset을 통해 key, value를 넣을 수 있습니다.
가져오는 경우 get을 이용하면 되고 여기서는 keys를 통해 pattern에 맞는 key들을 가져왔습니다.

id가 233인 값을 redis에 넣고 /string으로 get요청을 보내보면 아래와 같이 user233이라는 키값이 생기는 것을 확인 할 수 있습니다.

profile
greenTea입니다.

0개의 댓글