때는 바야흐로 키오스쿨 V3가 되어가는 과정이랄까…

프론트가 대규모로 디자인이 변경되기도 하는데 백엔드도 무언가 진행하면 좋겠다 싶어서 이전에 미뤄두고 있었던 개선 사항들을 하나씩 건드려보고 있는 중이다.

그 중에서도 캐싱을 한 번 제대로 사용해보고 싶어서 캐싱을 한 번 도입해보았는데 그 동안 겪었던 일들에 대해서 한 번 작성해보겠다.

들어가기 앞서서

지금 캐싱을 적용해서 성능이 얼마나 개선되었는지 확인해보고 있는데, 같은 인스턴스 내부에 redis, spring boot, postgresql을 다 띄워둔 상태라서 그런지 별다른 차이가 없다 ㅎㅎ

나중을 위한 공부라는 것에 의의를 두고 있다!

캐싱!! 그놈이 뭐길래…

사실 이전에도 캐싱을 시도해보려고 한 적이 있었다.

spring boot를 사용하는 다른 동기들의 pr을 훔쳐보면 자주 사용되는 부분이기도 하기 때문에, 나도 한 번 적용해봐야지 하고 시도했을 때는 다음과 같은 문제가 있었다.

  1. 키오스쿨은 response dto를 사용하지 않는다.
    1. 백엔드 리드 박지인씨의 귀차니즘으로 entity 자체를 내려주는 아키텍처였다.
  2. 하지만 entity에 json ignore 어노테이션으로 정보 보호는 했다.
    1. 그렇다보니 redis에 직렬화 될 때 json ignore로 정보가 제대로 저장되지 않는다.
    2. 다시 역직렬화를 진행할 때 데이터가 모자라니 문제가 생긴다.

이런 이슈가 있었기에 나중을 기약하고 있었다.

난 깔끔하고, 유지보수 가능하고, 까먹지 않게끔 간단하고…

내가 키오스쿨 프로젝트를 애정하다보니, 아주 깔끔하게 관리하려고 노력을 많이 하는 편이다.