在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)偶爾更新:能夠按期更改緩存策略 或者 清除緩存
提示:若是大量使用緩存,會越積越大,建議按期清除緩存