728x90
Cache
1.개요
캐시란, 자주 불러오는 데이터를 더 빠르고 쉽게 불러올 수 있도록 저장하는 개념이다.
하드웨어 뿐만 아니라, 소프트웨어적인 구성 요소도 포함한다.
일반적으로 캐시는 메인 메모리 혹은 디스크 저장 공간에서 데이터에 접근하는 데
걸리는 시간을 줄여 성능을 향상시키는 데 사용한다.
2. 종류
- CPU 캐시
프로세서가 자주 실행하는 명령어와 데이터를 저장하는 캐시이다.
CPU의 명령 처리 속도 향상이 메모리 로드 속도 향상에 비해 더 큰 상황으로
캐시 양이 늘어나면 전체적인 성능 향상을 기대할 수 있다. - 디스크 캐시
디스크 버퍼라고도 불리며 디스크 스토리지에서 자주 호출되는 명령어와 데이터를 저장한다.
하드웨어에 따라 자체적으로 캐시 메모리를 가지고 있어 해당 영역을 칭하거나,
메인 메모리에서 저장 공간의 데이터를 로드하는 것 또한 캐싱이라 할 수 있다. - 웹 캐시
웹 페이지와 리소스를 저장하는 캐시로, 자주 접근하는 사이트의 정보를 저장한다.
네트워크 트래픽을 줄이고 데이터 접근을 빠르게 만든다.
일반적으로 웹 캐시라고 하면 서버에서 자주 요청되는 데이터를 사용자와 지리적으로
가까운 서버에 위치시켜 빠르게 제공하는 기법을 말한다.
이를 통해 전체적인 네트워크 부하와 지연 시간을 줄일 수 있다.
3. 원리
캐시의 동작 방식은 가상 메모리에서 페이징이 동작하는 것과 유사하다.
캐시가 효율적으로 작동하기 위해서는 저장된 데이터가 지역성을 가져야 한다.
같은 데이터를 짧은 시간 안에 다시 사용하는 시간적 지역성, 특정 데이터를 사용하면
가까운 데이터에 접근하는 공간적 지역성을 고려한 캐싱 알고리즘에 따라 성능이 좌우된다.
캐시 미스(miss)가 발생해 데이터를 불러올 때, 단계마다 큰 속도 차이가 존재한다.
그러므로 캐시 미스를 최소화하는 방식이 요구된다.
728x90
'TIL > 기본' 카테고리의 다른 글
[TIL] 비대칭 암호화 (0) | 2023.03.28 |
---|---|
[TIL] Database Index (0) | 2023.03.28 |
[TIL] Garbage collection (0) | 2023.03.28 |
[TIL] 가상 메모리 (0) | 2023.03.28 |
[TIL] Top-down과 Bottom-up (0) | 2023.03.27 |