[Redis] Spring Boot 연동

smiler·2023년 7월 25일
0
post-thumbnail

프로젝트에서 Redismessage server 구성했다는 말을 듣고 재밌는게 생각나서 이어서 글을 써봐요.

어떤 것을 하려고 하는지는 아직 비밀이고 일단 Spring framework쪽에 Redis를 붙여봅시다.
저는 Spring boot로 기본적인 jdbcmybatis같은 설정을 잡아둔 템플릿같은 프로젝트를 돌려서 사용해요. 이런거 할 때마다 라이브러리 찾아오고 application container 설정잡고 bean 만들고.. 테스트한다고 postman 켜고 하는것도 지겨워서 swagger 같은것도 붙여놨고.. 하여튼 이번에도 돌려서 사용할게요.

1. Redis 서버 연결

하고 싶은게 Oracle을 사용해야해서 미리 연결해뒀고, spring.cache.** 만 작성합시다.
옵션은 나중에 정리할게요. 중요한건 연결이니까 접속정보를 작성합시다.

host : 연결할 Redis Server ip(저는 로컬서버입니다.)
port : 6379(기본 6379 입니다.)

2. Configuration 작성

yml에 작성한 정보를 주입 하기위해서 Configuration을 작성합시다.
저도 Redis를 공부하는중이지만 문자열 데이터를 직렬화해주는 bean을 만들어야 된다네요.

여기서 조금 이상한점이 있었어요.
사람들 예제를 따라하는데 다들 하나같이 RedisConfiguration에서 직렬화하는 소스를 작성하고 bean을 만들어 놓는데 막상 저 RedisTemplate을 사용 안하더라구요. 이유는 잘 모르겠어요. 만들어놓고 버려진 bean..

3. 예제 작성

저는 그러라고 만든 spring 이니까 주입해서 썼습니다. @ResourceConfig에서 만든녀석을 넣어줬어요.
lombok을 사용했기 때문에(전자정부 쓰는데서는 못쓴다던데 ..) @RequiredArgsConstructor로 수정자를 작성안해도 DI가 가능해요.(라떼는 이런거 없었는데~ Getter, Setter IDE가 만들어주고 그랬어~)

예제는 단순하게 Redis 서버에 set(입력)하고 get(조회) 하는 소스에요.
의미가 있는건 아닙니다. 입력, 조회가 되는지 보려구요.

4. 입력데이터 확인

junit 같은걸로 해도되는데 저는 그냥 swagger로 테스트해보겠습니다.


그림이 길어서 끈겼지만 아까 입력한 key에 대해서 password를 잘 조회해 오네요 !

redis에서 조회해볼게요.

?? password 앞에 뭐가 잔득 붙었습니다.
직렬화랑 관련된것같은데 .. 근데 response는 password라고 잘 받았단 말이죠 ..?
일단 제가 만들어보려고하는 application에서는 지장이 없을것같아서 원인은 나중에 찾아보겠습니다.

0개의 댓글