개발이군고구마

[CS] cache 구조와 사용 방법 본문

SERVER/CS

[CS] cache 구조와 사용 방법

김구황 2024. 11. 24. 15:09
728x90

1. cache는 왜 필요할까 

  • client에서 요청이 들어왔을 때 원하는 데이터를 매번 '데이터 서버' 에 접속하여 저장되어있는 '디스크'를 조회하여 가져오게 되면
  • SQL을 파싱하고, 서버에 접속하는 등의 시간이 오래 걸린다. 
  • 따라서 같은 요청을 했다면, 그 결과값을 메모리에 저장하여 빠르게 가져올 수 있도록 하는 기능이 필요하다. 

https://dev-qhyun.tistory.com/28

 

2. cache 의 종류 

1) LOCAL CACHE

  • local 장비에서만 사용됨 
  • local 장비의 resource 를 사용 (memory disk). Spring의 경우 JVM 메모리 사용
  • 다른 서버와 공유는 어려움 
  • 종류에는 ehCache 

 

2) GLOBAL CACHE

  • 여러 서버에서 별도의 cache server 에 접근해서 사용
  • 데이터를 분산해서 저장할 수 있음 
  • 솔루션을 별도의 서버에 설치하여 사용
  • 종류에는 Redis

 

 

3. cache 사용 방법 

  • @Cachable
    • repository 단에 적용하여, sql로 가져온 데이터의 값을 캐시에 저장함 
    • 메서드를 호출할 때 캐시 이름 value 와 key를 확인하여 이미 저장된 데이터가 있으면 해당 데이터를 리턴 

 

 

 


- cache 정의 

https://mangkyu.tistory.com/69

 

[Server] Cache(캐시)란?

1. 캐시(Cache)란? [ Cache ] Cache란 자주 사용하는 데이터나 값을 미리 복사해 놓는 임시 장소를 가리킨다. 아래와 같은 저장공간 계층 구조에서 확인할 수 있듯이, 캐시는 저장 공간이 작고 비용이

mangkyu.tistory.com

 

- cache 종류 

https://dalsacoo-log.tistory.com/entry/Local-Cache%EC%97%90-%EB%8C%80%ED%95%98%EC%97%AC-Spring-Cache-CaffeineEhcache-Redis-Client-side-caching

 

Local Cache에 대하여 (Spring Cache, Caffeine/Ehcache, Redis Client-side caching..)

글을 쓰게된 배경 Redis와 같은 Global Cache는 팀 내에서 거의 필수적으로 사용하고 있지만, Local cache는 자주 사용되지는 않고 있었습니다. 사실 Local cache는 서버마다 지역적으로 데이터를 저장해 관

dalsacoo-log.tistory.com

 

https://dev-qhyun.tistory.com/28

 

[cache] Local Cache와 Global Cache

캐시란?캐시는 애플리케이션의 성능을 대폭 상승시켜 주는 대표적인 기술입니다. 조회 성능이 더 느린 계층에서 발생하는 병목 현상을 줄이기 위해 조회 성능이 더 빠른 계층에 임시로 데이터

dev-qhyun.tistory.com