在iOS开发中缓存常常用 NSURLCache
来实现, 这个类提供了大量的操做缓存的方法.缓存
NSURLCache常见的方法:服务器
(1)得到全局缓存对象(不必手动建立)NSURLCache *cache = [NSURLCache sharedURLCache];网络
(2)设置内存缓存的最大容量(字节为单位,默认为512KB)- (void)setMemoryCapacity:(NSUInteger)memoryCapacity;code
(3)设置硬盘缓存的最大容量(字节为单位,默认为10M)- (void)setDiskCapacity:(NSUInteger)diskCapacity;对象
(4)硬盘缓存的位置:沙盒/Library/Caches内存
(5)取得某个请求的缓存- (NSCachedURLResponse *)cachedResponseForRequest:(NSURLRequest *)request;ci
(6)清除某个请求的缓存- (void)removeCachedResponseForRequest:(NSURLRequest *)request;开发
(7)清除全部的缓存- (void)removeAllCachedResponses;rem
typedef NS_ENUM(NSUInteger, NSURLRequestCachePolicy) { NSURLRequestUseProtocolCachePolicy = 0, NSURLRequestReloadIgnoringLocalCacheData = 1, NSURLRequestReloadIgnoringLocalAndRemoteCacheData = 4, // Unimplemented NSURLRequestReloadIgnoringCacheData = NSURLRequestReloadIgnoringLocalCacheData, NSURLRequestReturnCacheDataElseLoad = 2, NSURLRequestReturnCacheDataDontLoad = 3, NSURLRequestReloadRevalidatingCacheData = 5, // Unimplemented };
缓存的设置须要根据具体的状况考虑,若是请求某个URL的返回数据:it
(1)常常更新:不能用缓存!好比股票、彩票数据
(2)一成不变:果断用缓存
(3)偶尔更新:能够按期更改缓存策略 或者 清除缓存
提示:若是大量使用缓存,会越积越大,建议按期清除缓存