캐싱 (Caching) ?
- 일시적인 특징이 있는 데이터 하위 집함을 저장하는 고속 데이터 스토리지 계층
- 따라서 이후에 해당 데이터에 대한 요청이 있으 경우 데이터의 기본 스토리지 위치에 액세스할 때보다 더 빠르게 요청할 수 있다.
- 캐싱을 사용하게되면 이전에 검색하거나 계산한 데이터를 효율적으로 재사용할 수 있다.
1. 캐싱의 유형
1) 브라우저 캐싱
- 이미지, CSS 및 JavaScript와 같은 파일을 사용자 컴퓨터에 로컬로 저장
2) 개체 캐싱
- 이미지 및 글꼴과 같이 웹 페이지에서 사용되는 개체를 저장
- 캐시된 객체가 사용자의 컴퓨터에 저장되기 때문에 보다 일관된 사용자 경험을 제공
3) 페이지 캐싱
- 방문한 전체 웹 페이지의 복사본을 저장
- 웹 페이지 로드 시 필요한 HTTP 요청 수를 줄이기 때문에 대역폭 사용량과 페이지 로드 시간을 줄인다.
작동
- 일반적으로 메모리(RAM)에 저장하고 원격 위치에서 검색할 때 보다 더 빠르게 검색한다.
- 가장 일반적인 캐싱 유형인 웹 브라우저 캐싱의 경우 웹 브라우저는 로컬 하드 드라이브에 정적 데이터의 복사본을 로컬로 저장한다.
- 정적 이미지, CSS 파일 및 JavaScript 파일과 같은 작고 정적인 데이터를 저장한다.
- 최종 사용자 대기 시간을 줄이기 위해서 사용자와 가까운 에지 서버의 콘텐츠 배달 네트워크에서 사용된다.
이점
- 애플리케이션 성능 개선 - 데이터베이스 비용 절감
- 백엔드의 로드 감소 - 예측 가능한 성능
- 데이터베이스 핫스팟 제거 - 읽기 처리량 증가
난제
- 연산의 결과가 달라졌을 경우의 처리
예) 웹 브라우저 캐쉬 - 이미지를 캐싱했는데 캐싱된 이미지가 변경된다면 ?
→ 갱신의 어려움
1. 방안
1) TTL (Time To Live) - 캐쉬의 만료기간을 정해두고, 지정된 만료일이 지나면 캐쉬를 재생성
2) Cache의 명시적인 삭제 - 캐쉬가 유효하지 않을 때 명시적으로 삭제하여 새로운 캐쉬가 생성
참고
- https://aws.amazon.com/ko/caching/
- https://docs.microsoft.com/ko-kr/azure/cdn/cdn-how-caching-works#introduction-to-caching
- https://enum01.tistory.com/126
- https://develop-obm.tistory.com/31
'etc' 카테고리의 다른 글
AWS Route53 도메인 이전 후 오류를 해결하기위해 (1) | 2022.11.09 |
---|---|
Docker에서 localhost란 ? (0) | 2022.09.05 |
6개월간의 회고, 8주간의 스터디와 현재 생각들 (0) | 2021.12.14 |
커밋 1일 1커밋 100일 회고록 (0) | 2021.10.29 |