코린이 탈출기
chapter 11.6 - 캐싱 처리 본문
캐싱 처리를 하는 이유와 원리를 알아보겠습니다.
우선 앱 또는 컴퓨터 중에서 데이터를 어디서 가져오냐에 따라 속도 차이가 얼마나 나는지에 대해 설명하겠습니다.
데이터 출처에 대해 3가지로 분류해서 보겠습니다.
1. 주 기억 장치 - RAM
코드로 보면 변수에 저장해둔 데이터를 가져오는 것을 말합니다.
특징으로는 휘발성 메모리여서 전원이 차단되면 모든 기록이 삭제됩니다.
하지만 이러한 특징은 장점이 있습니다. RAM에 기록된 데이터를 전부 삭제하는 대신, 오류가 난 상태로 저장된 데이터도 삭제되기 때문에 처음부터 깨끗한 데이터를 불러서 사용할 수 있습니다.
거리를 예로 보면 가지고 있는 책을 주는 정도의 거리입니다. 그래서 가장 빠르게 데이터를 가져옵니다.
2. 보조 기억 장치 - SSD, HDD, USB 메모리, SD 카드, DVD, CD 등등
특징으로는 전원이 차단되어도 데이터가 보관됩니다. 주 기억 장치를 보안하기 위해 나왔습니다.
거리를 예로 보면 사물함에 있는 책을 주는 정도의 거리입니다. 주 기억 장치보다는 먼 거리입니다.
3. 인터넷 (웹 서버)
거리를 예로 보면 도서관에서 책을 빌려서 가져다주는 정도의 거리입니다. 도서관은 국내라고 한정 지을 수 없고, 해외일 경우가 있습니다.
주 기억 장치와 보조 기억 장치는 같은 본체 안에서 이루어지는 작업이지만, 인터넷의 경우에는 다른 컴퓨터에서 이루어지는 작업입니다.
주 기억 장치와 보조 기억 장치에 비하면 많이 느린 속도입니다.
캐싱(cache) 처리에 대해 알아보겠습니다.
캐싱 처리는 가장 느린 인터넷 같은 웹 서버에 접근하는 동작의 실행 횟수를 최소화하여 앱의 동작 속도를 빨라지도록 하는 것입니다.
예를 들면 해외에 있는 책을 가져다 달라고 했을 경우 한 번은 가야 하지만, 이 책을 미리 복사하여 사본을 만들어서 다음에 똑같은 책을 원할 경우 다시 해외에 가는 것이 아니라 사본을 주는 방식입니다.
즉, 웹 서버에 존재하는 데이터를 본체 내부의 기억 장치에 저장하여 같은 데이터를 다시 요청하면 서버까지 가지 않고 저장된 데이터를 주는 방식입니다.
캐싱 처리는 요청이 들어오면 1) 복사해둔 데이터가 있는지 조회하고 2) 있다면 사본으로 대체하고 3) 없다면 그때만 서버에 접근해서 4) 가져온 데이터를 복사하는 과정입니다.
이러한 복잡한 과정을 매번 코드를 짜는 것은 어렵습니다.
하지만 라이브러리를 이용하면 이러한 캐싱 처리가 되어있기 때문에 사용하는 것입니다. (예를 들면 Glide가 있습니다.)
'인터넷 강의 > 클래스101 - 비전공자들을 위한 나만의 안드로이드 앱 만들기' 카테고리의 다른 글
| chapter 11.8 - 안드로이드의 권한 설정 - TedPermission 활용 (0) | 2021.06.15 |
|---|---|
| chapter 11.7 - https vs http - 안드로이드 보안 처리 (0) | 2021.06.14 |
| chapter 11.5 - Glide 라이브러리 활용하기 (0) | 2021.06.14 |
| chapter 11.4 - 이미지 관련 라이브러리 활용 - PhotoView (0) | 2021.06.14 |
| chapter 11.3 - 이미지 관련 라이브러리 활용 -CircleImageView (0) | 2021.06.14 |