Swift에서 캐시(Cache)
일반적으로 캐시는 앱에서 자주 사용되는 데이터를 어딘가에 미리 저장해두어서 빠르게 접근 가능하도록 하는 저장소 역할을 한다.
아무래도 캐시를 이용하는 이유를 생각해보면 이미지를 다루는 경우가 많을 것 같은데 (내 생각 정리)
1.
앱은 웹보다 화면 크기가 작기 때문에 이미지를 쓰는 경우가 많다. (가독성의 문제)
2.
이미지를 서버 통신으로 매번 조회하면 앱에 대한 부하가 너무 걸린다.
3.
disk, memory 단에 이미지 데이터를 저장해두었다가 활용할 수 있다면 불러오는 속도도 빠르고, 불필요한 네트워크 리소스도 들지 않는다.
Swift는 Memory Storage의 NSCache로 기본적인 캐싱을 제공한다. 앱이 살아있는 동안 유지되고, 접근이 빠르다.
키-벨류 값으로 저장된다.
Filemanager를 통해 Cache Disk를 만들 수도 있다. 앱이 inactive로 들어가더라도 샌드박스단에 저장되기 때문에 삭제되지 않는다.
Memory Cache보다 접근은 늦을 수 있지만 네트워크로 불러오는 것보다는 빠르다.
Reaction
Comment
Share