Cache는 자주 접근하는 데이터를 복사 해놓는 임시 저장소이다.
Cache의 개념은 네가지로 변주된다.
아래에 언급되어 있지 않더라도 cache의 개념 정의에 적합하다면 언제든지 cache가 될 수 있다.
1. 메모리적 개념의 cache
특정 프로그램을 실행하기 위해 메모리에 있던 데이터를 CPU 내의 캐시 메모리에 저장하여 빠르게 실행할 수 있다.
2. 브라우저 캐시
이미지 등 용량이 큰 일부 정적 파일을 빠르게 불러오기 위해 브라우저에서 파일을 사용자의 로컬 환경에 저장해둔다.
3. CDN
웹 서비스를 구현해본 사람이라면, CDN을 사용해본 적이 있을 것이다. CloudFlare나, AWS CloudFront 등을 이용하면 편하다. 다만, 국내 한정 서비스라면 CDN을 부착했을 때 오히려 접속시간이 늘어난다는 의견이 존재한다.
4. 웹 서비스 캐시 서버
Redis 등 인 메모리 DB를 통해서 직접 DB를 hit하지 않고 메모리에 임시 저장한 값을 가져오는 방법으로 이미 구현해본 바가 있다.
'💻 CS 일반 > 💻 CS 일반 (etc...)' 카테고리의 다른 글
Go로 살펴보는 메모리 정렬(alignment)과 메모리 패딩(padding) (0) | 2021.05.11 |
---|---|
Go로 살펴보는 오버플로, 언더플로, float간 비교 (0) | 2021.05.09 |
비트 연산자와 보수에 대하여 (0) | 2020.09.29 |
기계어와 어셈블리어, IR(Intermediate representation) (0) | 2020.08.30 |
프로세스, 프로세서(CPU), Context Switching, 스레드, 멀티스레드 (0) | 2020.08.25 |