프로젝트에서 Redis
로 message server
구성했다는 말을 듣고 재밌는게 생각나서 이어서 글을 써봐요.
어떤 것을 하려고 하는지는 아직 비밀이고 일단 Spring framework
쪽에 Redis
를 붙여봅시다.
저는 Spring boot
로 기본적인 jdbc
나 mybatis
같은 설정을 잡아둔 템플릿같은 프로젝트를 돌려서 사용해요. 이런거 할 때마다 라이브러리 찾아오고 application container
설정잡고 bean
만들고.. 테스트한다고 postman
켜고 하는것도 지겨워서 swagger
같은것도 붙여놨고.. 하여튼 이번에도 돌려서 사용할게요.
하고 싶은게 Oracle
을 사용해야해서 미리 연결해뒀고, spring.cache.**
만 작성합시다.
옵션은 나중에 정리할게요. 중요한건 연결이니까 접속정보를 작성합시다.
host : 연결할 Redis Server ip(저는 로컬서버입니다.)
port : 6379(기본 6379 입니다.)
yml
에 작성한 정보를 주입 하기위해서 Configuration
을 작성합시다.
저도 Redis
를 공부하는중이지만 문자열 데이터를 직렬화해주는 bean
을 만들어야 된다네요.
여기서 조금 이상한점이 있었어요.
사람들 예제를 따라하는데 다들 하나같이 RedisConfiguration
에서 직렬화하는 소스를 작성하고 bean
을 만들어 놓는데 막상 저 RedisTemplate
을 사용 안하더라구요. 이유는 잘 모르겠어요. 만들어놓고 버려진 bean
..
저는 그러라고 만든 spring
이니까 주입해서 썼습니다. @Resource
로 Config
에서 만든녀석을 넣어줬어요.
lombok
을 사용했기 때문에(전자정부 쓰는데서는 못쓴다던데 ..) @RequiredArgsConstructor
로 수정자를 작성안해도 DI가 가능해요.(라떼는 이런거 없었는데~ Getter
, Setter
IDE가 만들어주고 그랬어~)
예제는 단순하게 Redis
서버에 set(입력)
하고 get(조회)
하는 소스에요.
의미가 있는건 아닙니다. 입력, 조회가 되는지 보려구요.
junit
같은걸로 해도되는데 저는 그냥 swagger
로 테스트해보겠습니다.
그림이 길어서 끈겼지만 아까 입력한 key에 대해서 password를 잘 조회해 오네요 !
redis에서 조회해볼게요.
?? password 앞에 뭐가 잔득 붙었습니다.
직렬화랑 관련된것같은데 .. 근데 response
는 password라고 잘 받았단 말이죠 ..?
일단 제가 만들어보려고하는 application
에서는 지장이 없을것같아서 원인은 나중에 찾아보겠습니다.