使用下列
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
的行为。
|