美文网首页
iOS缓存策略-NSURLRequestCachePolicy

iOS缓存策略-NSURLRequestCachePolicy

作者: 雪碧童鞋 | 来源:发表于2018-11-28 14:36 被阅读0次

    NSURLRequestCachePolicy指定缓存逻辑。URL加载系统提供了一个磁盘和内存混合的缓存,来相应网络请求。这个缓存允许一个应用减少对网络连接的依赖,并且增加性能。使用缓存的目的是为了使用的应用程序能更快速的响应用户输入,是程序高效的运行。有时候我们需要将远程web服务器获取的数据缓存起来,减少对同一个url多次请求。

    NSURLRequestCachePolicy枚举值:

    NSURLRequestUseProtocolCachePolicy = 0:默认的缓存策略, 如果缓存不存在,直接从服务端获取。如果缓存存在,会根据response中的Cache-Control字段判断下一步操作,如: Cache-Control字段为must-revalidata, 则询问服务端该数据是否有更新,无更新的话直接返回给用户缓存数据,若已更新,则请求服务端。

    NSURLRequestReloadIgnoringLocalCacheData = 1:数据需要从原始地址加载。不使用现有缓存。

    NSURLRequestReloadIgnoringLocalAndRemoteCacheData = 4:不仅忽略本地缓存,同时也忽略代理服务器或其他中间介质目前已有的、协议允许的缓存。

    NSURLRequestReturnCacheDataElseLoad = 2:无论缓存是否过期,先使用本地缓存数据。如果缓存中没有请求所对应的数据,那么从原始地址加载数据。

    NSURLRequestReturnCacheDataDontLoad = 3:无论缓存是否过期,先使用本地缓存数据。如果在缓存中没有已存数据来响应URL加载请求的话,不去尝试从源段加载数据,此时认为加载请求失败,(即:“离线”模式)。

    NSURLRequestReloadRevalidatingCacheData = 5:从原始地址确认缓存数据的合法性后,缓存数据就可以使用,否则从原始地址加载(在使用前去服务器验证)。

    相关文章

      网友评论

          本文标题:iOS缓存策略-NSURLRequestCachePolicy

          本文链接:https://www.haomeiwen.com/subject/tjwaqqtx.html