무형상품 서비스, 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 캐시는 별도 서버를 사용해 데이터 공유가 용이하지만, 네트워크 트래픽으로 인해 속도가 상대적으로 느리다. ElastiCacheGLOBAL 캐시 구축을 용이하게 한다.

Spring @Cacheable 어노테이션 활용

@Cacheable 어노테이션을 사용하여 캐싱 로직을 간결하게 구현한다. RedisCacheManager를 통해 ElastiCache를 연동하고, 캐시 만료 시간(TTL), 키 prefix 등 캐싱 설정을 커스터마이징한다. 결과적으로 코드 중복 감소유지보수성 향상을 기대할 수 있다.

무형상품 서비스에 캐시 적용하기