---
# System prepended metadata

title: 230803 Cache
tags: [활동학습]

---

### URLCache의 기본 캐시 정책은?
- allowed
URLCache에 저장이 어떠한 형태로든 허용됩니다. 메모리나 디스크에 모두 저장이 가능합니다.

- allowedInMemoryOnly
URLCache에 저장이 허용되지만, 저장은 오로지 메모리 내에서 제한되어야 합니다.

- notAllowed
URLCache에 저장이 어떠한 형태로든 허용되지 않습니다. 메모리나 디스크에 모두 저장이 금지됩니다.

[🍎 URLCache - StoragePolicy](https://developer.apple.com/documentation/foundation/urlcache/storagepolicy)
### URLRequest에서도 캐싱에 대한 설정을 할 수 있습니다. URLRequest의 기본 캐시 정책은 무엇인가요?

| 캐시 정책 | 로컬 캐시 | 원본 소스 |
| -------- | -------- | -------- |
| NSURLRequest.CachePolicy.reloadIgnoringLocalCacheData   | 	무시됨    | 무조건 접근     |
| NSURLRequest.CachePolicy.returnCacheDataDontLoad    | 무조건 접근     | 무시됨     |
| NSURLRequest.CachePolicy.returnCacheDataElseLoad    | 우선 시도    | 필요하다면 접근     |
| NSURLRequest.CachePolicy.useProtocolCachePolicy     |프로토콜에 따라 다름    | 프로토콜에 따라 다름     |


[🍎 URLCache - CachePolicy](https://developer.apple.com/documentation/foundation/nsurlrequest/cachepolicy)
### NSCache와 URLCache는 어떤 차이가 있나요?
- NSCache는 메모리 캐싱방식
- URLCache는 메모리 캐싱, 디스크 캐싱


### 메모리 캐싱과 디스크 캐싱의 차이는 무엇일까요?
- 메모리 캐싱
    - 임시적인 데이터
    - 자주 업데이트되는 데이터
    - 프로그램에서 빠르게 주고받을 데이터
    - 기기를 끄면 사라짐
    - 디스크 캐싱보다 속도가 빠르다
- 디스크 캐싱
    - 큰 용량의 데이터
    - 오래 유지 해야하는 데이터
    - 기기 안에 저장되어있어 앱을 껐다 켜도 남아있음
    - 메모리 캐싱보다 속도가 느리다