캐시는 데이터나 연산 결과를 임시로 저장해 두고, 동일한 데이터를 요청할 대 더 빠르게 제공하는 기술이다. 주로 메모리와 같은 빠른 저장소를 사용하여 데이터를 임시로 저장하므로 비교적 느린 작업을 반복적으로 수행하는 대신 캐시된 데이터를 재사용할 수 있다.
ㅇ 캐시의 방식
- 메모리 캐시(In-Memory Cache)
메모리에 자주 사용하는 데이터를 저장하여 빠르게 접근할 수 있다. Redis나 Memcached 같은 인메모리 데이터베이스가 사용된다. - 웹 브라우저 캐시(Browser Cache)
웹 브라우저는 방문한 페이지나 자원을 캐시에 저장해두고 같은 페이지를 다시 방문할 때 서버에서 다시 다운로드하지 않고 캐시된 자원을 사용한다. - 데이터베이스 캐시(Database Cache)
쿼리 결과를 캐싱하여 동일한 쿼리가 반복될 때 데이터베이스에 접근하는 시간을 줄일 수 있다. 데이터베이스의 부하를 줄이고 응답속도를 향상시킬 수 있다. - 분산 캐시(Distribute Cache)
여러 서버에서 공통으로 사용하는 캐시로 시스템이 분산되어 있을 때 전체적으로 캐시된 데이터를 공유할 수 있다. 대규모 시스템에서 성능 최적화를 위해 사용된다.
ㅇ 캐시의 장단점
장점
- 속도 향상
자주 사용하는 데이터를 캐시하면 접근 시간을 줄여 성능을 크게 향상 시킬 수 있다. - 서버 부하 감소
동일한 요청에 대해 캐시된 데이터를 제공함으로 서버의 처리 부하를 줄일 수 있다.
단점
- 데이터 불일치
캐시된 데이터는 시간이 지나면 원본 데이터와 다를 수 있어 이를 해결하기 위한 캐시 무효화 전략이 필요하다. - 메모리 사용량 증가
캐시는 메모리를 사용하기 때문에 크기가 크면 시스템 자원을 과도하게 소비할 수 있다.
'Web' 카테고리의 다른 글
[Web] Web과 WAS의 차이 (0) | 2024.11.27 |
---|---|
[Web] REST API (1) | 2024.11.27 |
[Web] HTTP Status Code (0) | 2024.11.27 |
[Web] HTTP Request Method (1) | 2024.11.27 |
[Web] 쿠키와 세션의 차이 (1) | 2024.10.10 |