web 개발/spring

<spring> cache 적용

잼추 2024. 6. 1. 00:57

  • 캐시(Cache)
    • 데이터 또는 문서의 복사본을 임시 저장하는 장소로 빠르게 접근 가능
    • 자주 사용되거나 반복적으로 요청되는 데이터를 빠르게 로드 → 사용자 경험 향상, 서버 부하 
  • 캐시의 종류
    • 브라우저 캐시: 사용자의 브라우저에 데이터를 저장
    • 서버캐시: 서버 측에서 데이터를 저장
    • 분산캐시: 여러 서버에 걸쳐 데이터를 저장
  • Redis와 캐싱
    • Redis
      • 고성능 키-값 저장소로 널리 사용되는 분산 캐시 시스템
      • 메모리 내 데이터 저장과 빠른 읽기/쓰기 작업을 지원
    • Redis를 사용한 캐싱의 장점
      • 속도: 메모리에 데이터 저장 → DB조회보다 빠름
      • 경제성: 자원사용 줄임
      • 확장성: 네트워크 통해 접근 가능 → 여러 서버에서 데이터 공유 가능


@Cacheable 을 통해서 사용

@Cacheable(cacheNames = "Best30")
public List<PostResponseForMainDto> getPostBest30(Pageable pageable) {
    return postRepository.findTop30Posts(pageable);
}

@Cacheable(cacheNames = "view30")
public List<PostResponseForMainDto> getPostView30(Pageable pageable) {
    return postRepository.findView30Posts(pageable);
}

 

redisConfig 작성

@EnableCaching
@Configuration
public class RedisConfig {