iOS 网络缓存策略

typedef NS_ENUM(NSUInteger, NSURLRequestCachePolicy)

{

    NSURLRequestUseProtocolCachePolicy = 0,

    NSURLRequestReloadIgnoringLocalCacheData = 1,

    NSURLRequestReloadIgnoringLocalAndRemoteCacheData = 4, // Unimplemented

    NSURLRequestReloadIgnoringCacheData = NSURLRequestReloadIgnoringLocalCacheData,

    NSURLRequestReturnCacheDataElseLoad = 2,

    NSURLRequestReturnCacheDataDontLoad = 3,

    NSURLRequestReloadRevalidatingCacheData = 5, // Unimplemented

};

NSURLRequestCachePolicy 是URL加载系统提供的一个磁盘和内存的缓存功能,来响应网络请求,这样就可以使减少对网络的依赖,提高响应性能。

NSURLRequestUseProtocolCachePolicy :默认策略。如果没有对应的NSCachedURLResponse就会直接去远端获取,如果存在缓存响应,URL加载系统就会检查这个响应,如果有这个响应就建立一个连向源端的连接来查看内容是否发生了变化。如果没有变化就直接使用本地缓存数据,如果有变化就从源端获取。

NSURLRequestReloadIgnoringLocalCacheData: 加载源端数据,不使用本地缓存数据。

NSURLRequestReloadIgnoringLocalAndRemoteCacheData:本地缓存数据,代理和其他中介的的缓存都忽略掉,直接加载源数据

NSURLRequestReloadIgnoringCacheData = NSURLRequestReloadIgnoringLocalCacheData, 两个的设置相同,完全忽略缓存,直接加载源端数据。

NSURLRequestReturnCacheDataElseLoad =2:使用缓存数据,但是如果缓存数据过期了就使用源端数据

NSURLRequestReturnCacheDataDontLoad = 3,只使用cache数据,如果不存在缓存数据就请求失败,不再请求数据,用于没有网络连接的离线模式。

NSURLRequestReloadRevalidatingCacheData = 5,如果已存的缓存数据被提供他的源端确认为有效则允许使用缓存数据响应请求,否则从源端加载数据。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值