iOS 网络请求框架 ASI缓存策略

使用下列 cache 策略选项来控制 request 的缓存策略:
ASIUseDefaultCachePolicy
默认的 cache  策略。请勿将这一项与其他项结合使用。当你设置一个 request 使用 cache, 它会使用 cache defaultCachePolicy. ASIDownloadCache 的默认 cache 策略是‘ ASIAskServerIfModifiedWhenStaleCachePolicy
ASIDoNotReadFromCacheCachePolicy
使用这一项, request 将不会从 cache 中读取数据
ASIDoNotWriteToCacheCachePolicy
使用这一项, request 将不会把数据存入 cache
ASIAskServerIfModifiedWhen
StaleCachePolicy
这是 ASIDownloadCaches 的默认 cache 策略。使用这个策略时, request 会先查看 cache 中是否有可用的缓存数据。如果没有, request 会像普通 request 那样工作。
如果有缓存数据并且缓存数据没有过期,那么 request 会使用缓存的数据,而且不会向服务器通信。如果缓存数据过期了, request 会先进行 GET 请求来想服务器询问数据是否有新的版本。如果服务器说缓存的数据就是当前版本,那么缓存数据将被使用,不会下载新数据。在这种情况下, cache 的有效期将被设定为服务器端提供的新的有效期。如果服务器提供更新的内容,那么新内容会被下载,并且新的数据以及它的有效期将被写入 cache
ASIAskServerIfModifiedCachePolicy
这一项与 ASIAskServerIfModifiedWhenStaleCachePolicy 相同,除了一点: request 将会每次都询问服务器端数据是否有更新。
ASIOnlyLoadIfNotCachedCachePolicy
使用这一项, cache 数据将一直被使用,无视过期时间
ASIDontLoadCachePolicy
使用这一项时,只有当响应数据有缓存时, request 才会成功。如果一个 request 没有缓存的响应数据,那么这个 request 将会停止,并且不会有错误设置在 request 上。
ASIFallbackToCacheIf
LoadFailsCachePolicy
当使用这一项时,当 request 失败时, request 会回头请求 cache 数据。如果请求失败后, request 使用的 cache 数据,那么这个 request 会成功(没有错误)。你通常会将这一项与其他项结合使用,因为它适用于指定当发生错误时 request 的行为。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值