무형상품 서비스, ElastiCache로 성능 UP!
by DD
3년 전
조회수 8
캐시의 개념과 LOCAL/GLOBAL 캐시의 차이점을 설명함
ElastiCache를 사용하여 Redis 기반의 GLOBAL 캐시를 구축함
Spring Boot 2와 @Cacheable 어노테이션을 활용하여 캐싱을 구현함
캐싱 전략: Look-aside 방식
클라이언트 요청 시, 캐시 저장소에 데이터 존재 여부를 먼저 확인한다. Cache Hit 시 캐시된 값을 반환하고, Cache Miss 시 DB에서 데이터를 조회하여 캐시에 저장한다. 따라서 데이터 일관성을 유지하면서 성능 향상을 달성한다.
LOCAL vs GLOBAL 캐시 비교
LOCAL 캐시는 각 서버의 메모리를 사용하므로 속도가 빠르지만, 데이터 공유가 어렵다. GLOBAL 캐시는 별도 서버를 사용해 데이터 공유가 용이하지만, 네트워크 트래픽으로 인해 속도가 상대적으로 느리다. ElastiCache는 GLOBAL 캐시 구축을 용이하게 한다.
Spring @Cacheable 어노테이션 활용
@Cacheable 어노테이션을 사용하여 캐싱 로직을 간결하게 구현한다. RedisCacheManager를 통해 ElastiCache를 연동하고, 캐시 만료 시간(TTL), 키 prefix 등 캐싱 설정을 커스터마이징한다. 결과적으로 코드 중복 감소와 유지보수성 향상을 기대할 수 있다.