캐싱은 기본 데이터 저장소 앞에 데이터 복사본을 저장하는 전략입니다. 캐싱의 장점에는 더 빠른 응답 시간과 데이터를 빠르게 제공하여 사용자 경험을 향상시키는 기능이 있습니다. 캐시 저장소는 일반적으로 기본 저장소보다 사용하는 클라이언트에 더 가깝습니다.
캐시 - 지역성(locality)을 이용하여 데이터 접근 속도를 빠르게 하기 위한 메모리 계층
캐싱 - 캐시 영역으로 데이터를 가져와서 접근하는 방식
프로세서에서 캐시는 용량이 작고 속도가 빠른 메모리 로,
주 기억장치에 매번 접근하는 것을 피하고자 최근에 사용된 정보를 저장하는데 사용 된다.
일반적으로 2-3개가 있음. L1,L2,L3레벨이라고 부르며 뒤로 갈수록 용량은 크지만 속도는 더 느리다
캐싱이 효과적인 이유는 최근에 사용된 정보가 곧 다시 사용될 가능성이 크기 때문
캐싱 과정에서는 대개 정보를 블록 단위로 동시에 불러온다.
인접한 정보는 곧 사용될 가능성이 높기 때문에 근처 정보를 참조할 때 기다리지 않고 바로 볼 수 있을 것
데이터의 읽기/쓰기를 위해 특정 메모리가 사용됐을 때 가까운 시일 내에 해당 메모리가 다시 사용될 가능성이 높다는 것
공간 지역성은 특정 데이터와 가까운 주소가 순서대로 접근되는 경우를 말합니다. 한 메모리 주소에 접근할 때 그 주소뿐만 아니라 해당 블록을 전부 캐시에 가져옴으로써 공간 지역성의 효율을 높인다
분기가 발생하는 비순차적인 실행이 아닌 이상, 명령어들이 메모리에 저장된 순서대로 실행된다는 특성을 이용하여 순차적일수록 데이터가 사용될 가능성이 높다는 것
프로세서의 누산기 : 실행 속도를 높인 다는 점에서 캐시라고 볼 수 있음
주 기억장치 : 디스크를 보완하는 캐시
메모리와 디스크 : 네트워크에서 오는 데이터를 빠르게 꺼낼수 있는 점에서 캐시
그 외 네트워크, 서버 등에도 캐시 존재
브라우저는 페이지 재 방문시 데이터를 빠르게 불러오기 위해 이미지와 같은 비교적 용량이 큰 데이터의 로컬 사본을 유지함.
용량은 유한하기에 오래된 항목부터 조용히 제거함.
브라우저 뿐 아닌 워드나 다른 큰 프로그램같은 경우 두번째 실행할 때 로딩 시간이 짧아지는 것을 확인 가능.
프로그램의 명령어가 아직 메모리에 있고, 메모리가 디스크에 대한 캐시로 사용되기 때문이다.