IOS自带处理缓存方法

来源:互联网 发布:配电网设计软件 编辑:程序博客网 时间:2024/05/16 03:52

简介

当客户端需要从服务器端进行获取数据的时候,为了提高程序的响应速度可以考虑使用缓存,缓存分为内存缓存和硬盘缓存。程序只能对GET请求进行缓存,POST请求不能就行缓存

系统方法实现缓存步骤

1、创建要获取数据的url

NSURL *url = [NSURL URLWithString@""];

2、创建请求(一个请求对应一个缓存)

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url]; 

3、设置缓存策略

//设置缓存策略 
NSURLRequestUseProtocolCachePolicy = 0,//默认,取决于协议
NSURLRequestReloadIgnoringLocalCacheData = 1,忽缓存重新请求
NSURLRequestReloadIgnoringLocalAndRemoteCacheData = 4, // Unimplemented  未实现
NSURLRequestReloadIgnoringCacheData = NSURLRequestReloadIgnoringLocalCacheData,忽略缓存重新请求
NSURLRequestReturnCacheDataElseLoad = 2,有缓存就用缓存  没有缓存就重新请求
NSURLRequestReturnCacheDataDontLoad = 3,有缓存就缓存 没有缓存就不发请求  当请求出错处理(用于离线程序)
NSURLRequestReloadRevalidatingCacheData = 5, // Unimplemented

request.cachePolicy = NSURLRequestReturnCacheDataElseLoad;//有缓存就用缓存  没有缓存就重新请求

4、判断是否有缓存 或定期删除缓存

 // 定期处理缓存(将时间保存在沙盒中,对时间进行判断 如果到时间就清除当前请求的缓存
   
 //    if (缓存没有达到7) {
   
 //        request.cachePolicy = NSURLRequestReturnCacheDataElseLoad;
   
 //    }
   
 // 获得全局的缓存对象
   
 NSURLCache *cache = [NSURLCache sharedURLCache];
   
 //    if (缓存达到7) {
   
 //        [cache removeCachedResponseForRequest:request];
   
 //    }
   
   
 // lastCacheDate = 2014-06-30 11:04:30

清除所有缓存方法:[cache removeAllCachedResponses];

0
0 0