iOSUI学习之使用苹果系统自带的方法处理缓存问题

简介

当客户端需要从服务器端进行获取数据的时候,为了提高程序的响应速度可以考虑使用缓存,缓存分为内存缓存和硬盘缓存。程序只能对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
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值