Spring Data Redis: Repository vs RedisTemplate — 실전 성능 비교
백엔드
Spring Data Redis: Repository vs RedisTemplate — 실전 성능 비교
두줄요약
Spring Data Redis Repository와 RedisTemplate의 실전 성능을 비교했습니다. 단순 캐시에는 RedisTemplate이 더 적합하며 CPU와 메모리 효율이 좋았습니다.
문제 상황
- 피크 타임에 Redis CPU가 100%까지 치솟아 응답 지연과 타임아웃 발생
- Spring Data Redis Repository로 대용량 중첩 객체를 캐시하며 저장 부하가 누적
원인 분석
- Repository 저장 시 HMSET, SADD 등 다중 명령과 추상화 오버헤드 발생
- Hash 변환, 보조 Set, @Indexed 인덱스 관리로 메모리와 연산량 증가
해결 방법
- CrudRepository 기반 저장을 RedisTemplate의 단일 SET 방식으로 전환
- TTL 포함 단순 캐시 구조로 변경해 Redis CPU와 응답 시간을 개선
성능/운영 포인트
- 저장 성능에서 RedisTemplate이 Repository보다 약 2.45배 빠름
- Repository는 추가 자료구조와 네트워크 왕복으로 운영 부담이 큼
적용해볼 점
- 단순 캐시라면 Repository보다 RedisTemplate 또는 @Cacheable 우선 검토
- count, findAll, @Indexed가 정말 필요한지 저장 전 점검
