Categories
Tags
8
16
32
![커버: [JAVASCRIPT] 캐시 구현과 적용 커버 이미지](https://user-images.githubusercontent.com/113876485/230905977-c8f2a0b4-d946-4216-8671-667bbbfacdcd.png)
Cache (캐시) 캐시는 느린 기억장치 대신 빠른 기억 장치로 데이터 액세스하여 성능을 향상시키는 기술입니다. 이를테면 CPU, 메모리, 디스크 등 기억 장치 계층 구조에서 빠른 CPU와 느린 기억장치 사이에 중간 계층으로 존재합니다. 예를 들어 네이버를 접속할 때 여러 이미지와 광고, 네이버 로고가 화면에 나옵니다. 매번 접속할 때마다 이 자원들을 불러오는데 1분의 시간이 걸린다고 가정하겠습니다. 그런데 이 자원들을 이미 사용자의 입장에서 가지고 있다면 어떻게 될까요? 즉, 캐시는 이 자원들을 중간 위치에 존재하는 기억장치에 복사 또는 이동해서 가져오는데 걸리는 시간을 줄여 성능을 향상시키고자 하는 기술을 말합니다. 다른 예로는 은행에 대출을 한다고 가정하겠습니다. 대출하기 위해서는 신분증이 필요하지요. 하지만 신분증은 고객이 들고와야 합니다. 이 신분증을 은행에 들릴 때마다 은행이 가지고 있다면 대기 시간이 줄어들고 고객입장에서는 굳이 신분증을 챙겼는지 확인하지 않아도 됩니다. 이 캐시는 API 서버에서도 적용이 됩니다. 이미지, 영상 등의 자원뿐 아니라 API 서버에서도 캐시 정책을 두고 원하는 정책에 따라 사용자에게 응답하는 데이터를 저장해두었다가 요청에 기억해둔 응답을 줄 수 있습니다. 이 포스팅을 작성하는 목적은 우연히 캐시를 구현하고 API서버에 적용한 경험을 기록하고 후기를 공유하기 위함입니다.
2023년 04월 09일