캐시란
캐시는 빠른 장치와 느린 장치 사이의 병목현상을 줄이기 위한 데이터 임시저장소이다.
데이터를 임시로 저장하면 해당 데이터를 다시 계산하고 가져오는 시간 등을 절약할 수 있다.
캐시의 예
- CPU의 레지스터
- Redis 데이터베이스
용어
- 캐시히트: 빠른 장치가 캐시에 원하는 데이터를 찾아내는 사건
- 캐시미스: 원하는 데이터를 찾아내기 못한 사건
캐시미스가 발생할 경우, 빠른 장치는 느린장치로 접근해서 원하는 데이터를 캐시에 등록한다.
지역성의 원리
캐시를 설정할 때는 자주 사용하는 데이터 이여야한다. 자주 사용하는 데이터의 판단기준은 지역성이다. 지역성은 시간적 지역성과 공간적 지역성으로 나뉜다.
- 시간적 지역성: 최근에 사용하는 데이터에 다시 접근하려는 특성
- 공간적 지역성: 최근에 접근한 데이터의 인근 데이터에 접근하려는 특성
정리
- 캐시는 빠른 장치와 느린 장치 간의 데이터 임시 저장소이다.
- 캐시는 병목현상을 줄이기 위해 존재한다.
- redis 데이터베이스, cpu의 register 모두 캐시 역할을 한다.
- 캐시에 저장할 데이터는 지역성에 따라 결정한다.
- 지역성에는 시간적 지역성과 공간적 지역성이 있다.