기주

캐싱 본문

TIL

캐싱

기주그지마 2024. 1. 14. 16:08

 

 

** 캐싱  Caching

 


- 정의
ㄴ캐시를 사용하는 데이터 저장 기법
ㄴ 램이 될 수도있고, 각 하드웨어 부품에 달려있는 캐시 메모리가 대상이 될 수도 있음.
ㄴ 데이터 처리 속도를 향상시킨다


-개발자에게 있어 캐싱

1. 사실 캐싱은 대부분 운영체제가 알아서 해줌

2. 개발자가 할 수 있는 캐싱으론, db에서 가져오는 내용을 램에 저장해두고, 활용하는 방법

(=세션에 유저정보 저장하는 행위)


-쓰는이유)

1.속도향상
ㄴ백엔드 개발에서 가장 오래걸리는 작업은 DB통신
ㄴ 근데 이 데이터를 램에 저장해두고 쓰는 것
(db에서 자주 불러오게되는 데이터를 램에 저장해두고 활용)

 


2. DB 과부하방지
ㄴ DB의 입출력이 많아지면 DBMS가 과부하가 걸릴 수 있음
ㄴ 보잘 것 없은 데이터나, 수정이 매우 자주 일어나는 데이터등은 DB에 직접 쏘게하면 안됨(장바구니는 매우 수정이 많아 db에 저장안함)
ㄴ사용자와 db사이의 중간다리


-캐싱에서 중요한 점
ㄴ캐싱 기법은 필수가 아님 
ㄴ부가적인 역할로 성능 향상에 목적을 두고 있는 기법
ㄴ이걸 어디에 쓸지, 어떻게 응용할지 이런 것들에 대한 결정을 해야함
(db통신이 매우빈번하게 일어날거같은 상황에서는 db통신의 횟수를 줄이기위함.)

 

ㄴ 메모리를 쓰는 거라 과하게 사용하면 안된다




-예시
1. 쇼핑몰의 장바구니
2. 게시판 임시 저장
3. idx처럼 자주 불러오는 데이터
4. RPG게임의 경험치