NSURLSessionDataTask 缓存机制详解:开启缓存、策略选择及注意事项
NSURLSessionDataTask 缓存机制详解:开启缓存、策略选择及注意事项
NSURLSessionDataTask 默认情况下不会缓存数据,每次请求都会从服务器获取最新数据。但可以通过设置 NSURLRequest 的缓存策略来启用缓存。
可以使用以下方法设置缓存策略:
- (instancetype)initWithURL:(NSURL *)url
cachePolicy:(NSURLRequestCachePolicy)cachePolicy
timeoutInterval:(NSTimeInterval)timeoutInterval;
常见的缓存策略有:
- NSURLRequestUseProtocolCachePolicy:使用协议定义的缓存策略。默认情况下,如果有可用的缓存并且请求的 URL 没有过期,则使用缓存。
- NSURLRequestReloadIgnoringLocalCacheData:忽略本地缓存数据,每次都从服务器获取最新的数据。
- NSURLRequestReturnCacheDataDontLoad:只使用缓存数据,不从服务器加载数据。如果没有可用的缓存数据,则返回 NSError 错误。
- NSURLRequestReloadIgnoringLocalAndRemoteCacheData:忽略本地和远程缓存数据,每次都从服务器获取最新的数据。
使用缓存策略时,需要注意服务器的响应头中是否包含了合适的缓存相关的信息,比如 Cache-Control、Expires 等,以确保正确地使用缓存。
原文地址: https://www.cveoy.top/t/topic/qb4O 著作权归作者所有。请勿转载和采集!