[Basic] Cache

2020. 6. 20. 13:27개발/[Basic]

Cache를 왜 사용하는가?

  • 한번 읽은 데이터를 임시로 저장하고 필요에 따라 전송,갱신,삭제하는 기술
  • 보통은 데이터의 보관장소로 서버의 메모리를 사용하는 경우가 많다
  • 그렇기 때문에 디스크에서 정보를 얻어오는 것보다 훨씬 빠른 입출력 성능을 얻을 수 있지만
  • 서버가 다운되거나 재부팅되는 경우 사라지는 성격의 휘발성을 가진다.
  • 임시적으로 보관하고 빠르게 그 정보에 접근하기 위한 용도로 사용해야 한다.
  • 정보의 성격에 따라 설정으로 영구보관이나 오랜기간 유지가 가능하다.                                                      단 이런 설정들이 꼭 필요하다면 Cache를 적용하는게 맞는지 한 번 타당성을 검토해 보는게 좋겠다.

 쉽게 말한 Cache를 쓰는 목적

  • 서버간 불필요한 트래픽을 줄여서 어플리케이션 서버의 부하 감소시킨다
  • 어플리케이션의 빠른 처리성능(조회)을 확보해서 궁극적으로 어플리케이션을 사용하는 고객에게 쾌적한 서비스 경험을 제공한는 것 

어떤 정보들을 Cache로 사용하나?

  • 포탈의 검색어
  • 쇼핑몰의 핫딜상품, 베스트셀러, 추천상품등
  • 상품의 카테고리와 카테고리별 등록상품 수
  • 방문자수, 조회수, 추천수
  • 1회성 인증정보 (SMS 본인인증정보, IP정보등)
  • 공지사항, Q&A

스프링부트's API를 제공하는 Cache 라이브러리

  • Redis
  • Caffeine
  • EhCache
  • Hazelcast
  • Infinispan

정리

다음시간에는 Cache란 것을 살펴보았으니 Springboot에서 쓰는 Redis에 대해 알아보고 구현까지 해보자.

게시판 CRUD를 만드는 중인데 현재 Login 구현을 JTW로 구성해 토큰을 발행했는데 

인터넷을 뒤적거리니..

Logout을 할 때에는 Token이 지워지지 않으므로 보통

Redis를 이용해서 BlackList를 저장한다고 한다.

 

 

Cache내용 출처