Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
Tags
- recursive
- 크래프톤정글2기
- realloc
- github #깃허브 #깃허브설정 #깃허브업로드
- 지역성
- 재귀함수
- 항해99 #1주차 #미니프로젝트 #WIL
- 메모이제이션
- 포인터접근
- github #github세팅 #깃허브 #깃허브잔디
- 알고리즘
- 동적메모리할당
- 분할정복
- NULL포인터
- 탑다운
- 이진탐색
- 다이나믹프로그래밍
- 크래프톤정글
- MySQL
- Redux
- 1:1관계
- calloc
- Mac #M1 #node #노드버전 #노드다운그레이드
- 데이터처리
- 크래프톤
- 상태관리
- 포인터선언
- 보텀업
- insertion
- Recoil
Archives
- Today
- Total
우당탕탕 개발일지
캐시(Cache)란? 본문
캐시(Cache)란?
자주 사용하는 데이터나 값을 미리 복사해 놓는 임시 장소를 뜻한다.
아래 저장공간 계층 구조에서 확인할 수 있듯, 캐시는 저장 공간이 작고 비용이 비싼 대신 빠른 성능을 제공한다.
캐시(Cache)는 아래와 같은 경우에 사용을 고려하면 좋다.
- 접근 시간에 비해 원래 데이터를 접근하는 시간이 오래 걸리는 경우(서버의 균일한 API 데이터)
- 반복적으로 동일한 결과를 돌려주는 경우(이미지나 썸네일 등)
지역성(Locality)
모든 데이터를 캐시에 담기에는 저장 공간이 그리 크지않기 때문에 힘들다. 그래서 보통 캐시는 지역성을 나누어 분류한다.
- 시간적 지역성
- 특정 데이터가 한번 접근되었을 경우 가까운 미래에 또 한번 데이터에 접근할 가능성이 높은 것을 말한다.
즉, 한 번 가져왔던 데이터를 또 쓸 일이 있다는 의미를 말한다.
- 특정 데이터가 한번 접근되었을 경우 가까운 미래에 또 한번 데이터에 접근할 가능성이 높은 것을 말한다.
- 공간적 지역성
- 특정 데이터와 가까운 주소가 순서대로 접근되었을 경우 공간적 지역성이라고 한다.
CPU 캐시나 디스크 캐시의 경우에는 한 메모리 주소에 접근할 때 그 주소뿐 아니라 해당 블록을 전부 캐시에 가져오게 된다.
이 때 메모리 주소를 오름차순이나 내림차순으로 접근한다면 캐시에 이미 저장된 같은 블록의 데이터를 접근하게 되므로 캐시의 효율성이 크게 향상된다.
다시 말해 앞으로 사용할 데이터들이 가져올 블록안에 모여있는 것을 말하는 것이다. 필요한 데이터가 모여있다면 한번만 메모리에 접근해도 필요한 데이터들을 가져올 수 있다는 것이다.
만약 데이터가 모여있지 않다면 Cache Miss가 날 확률이 높아지고 메모리에 여러번 접근하게되어 효율성이 떨어지게 된다.
- 특정 데이터와 가까운 주소가 순서대로 접근되었을 경우 공간적 지역성이라고 한다.
<요약>
Cache에 데이터를 미리 복사해 놓으면 계산이나 접근 시간 없이 더 빠른 속도로 데이터에 접근할 수 있다.
결국 Cache란 반복적으로 데이터를 불러오는 경우에, 지속적으로 DBMS 혹은 서버에 요청하는 것이 아니라 Memory에 데이터를 저장하였다가 불러다 쓰는 것을 의미한다.
Enterprise급 Application에서는 DBMS의 부하를 줄이고, 성능을 높이기 위해 캐시(Cache)를 사용한다. 원하는 데이터가 캐시에 존재할 경우 해당 데이터를 반환하며, 이러한 상황을 Cache Hit라고 한다. 하지만 원하는 데이터가 캐시에 존재하지 않을 경우 DBMS 또는 서버에 요청을 해야하며 이를 Cache Miss라고 한다.
캐시는 저장공간이 작기 때문에, 지속적으로 Cache Miss가 발생하는 데이터의 경우 캐시 전략에 따라서 저장중인 데이터를 변경해야 한다.
reference
https://jeongkyun-it.tistory.com/173
https://mangkyu.tistory.com/69
Comments