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
- 踩
- IOS自带处理缓存方法
- 图片处理自带缓存的Picasso
- iOSUI学习之使用苹果系统自带的方法处理缓存问题
- iOS --- AFNetworking3.0网络请求方法封装(自带缓存功能)
- 使用spring自带的Cacheable注解处理Redis缓存
- iOS 自带方法解析json
- AFNetworking3.0网络请求方法封装(自带缓存功能)
- AFNetworking3.0网络请求方法封装(自带缓存功能)
- AFNetworking3.0网络请求方法封装(自带缓存功能)
- spring3 自带 cache 整合之方法缓存
- iOS小问题---iOS SDK自带md5加密方法
- SQL有自带的处理xml的方法
- Java字符串处理之详解String自带方法
- cygwin不自带telnet的处理方法
- IOS自带字体
- iOS自带定位
- iOS---APNS(自带)
- iOS使用系统自带的请求方式方法介绍
- SDWebimage框架解析
- Android Context相关总结
- FM切为扬声器模式,耳机和扬声器同时有声音-
- poj 2407 Relatives(欧拉函数模板题)
- Windows上使用VIM入门之文件操作
- IOS自带处理缓存方法
- 了解Lua语言中的_index,newindex,rawget和rawset
- 纯代码创建控制器
- 每天进步一点点——五分钟理解一致性哈希算法(consistent hashing)
- iOS 核心动画 书籍
- explain中的key_len
- Android总结02_Touch事件的分发与消费机制
- ArcGIS教程:什么是 Python?
- LTE中QPSK、16QAM、64QAM什么意思?有什么区别,分别在什么情况下占用呢?