iOS笔记-(ASI缓存常用方法总结)

87 篇文章 1 订阅

//判断现在是否有网络请求在处理中

    [ASIHTTPRequest isNetworkInUse];


//当正在请求时,状态栏是否要显示联网状态(转圈圈)

    [ASIHTTPRequest setShouldUpdateNetworkActivityIndicator:YES];


 一.ASI缓存策略

(1)缓存策略:什么时候进行缓存,缓存数据的利用方式.可以组合使用.

(2)默认缓存策略:如果存在未过期的缓存策略,则使用缓存;否则进行网络请求,判断服务器版本与本地版本是否一样,如果一样,则使用缓存.如果服务器有新版本,会进行网络请求,并且更新本地本地缓存.


ASIUseDefaultCachePolicy

ASIAskServerIfModifiedWhenStaleCachePolicy


(3)与默认缓存大致一样,区别仅是每次请求都会去服务器判断是否有更新.

    ASIAskServerIfModifiedCachePolicy


(4)不读取缓存数据

    ASIDoNotReadFromCacheCachePolicy

(5)不缓存数据,不写缓存

    ASIDoNotWriteToCacheCachePolicy

(6)如果有缓存,不管是否过期,总会拿来使用,没有缓存就重新请求

     ASIOnlyLoadIfNotCachedCachePolicy

(7)有缓存就拿来使用,没有缓存,请求就被取消(没有错误信息)

     ASIDontLoadCachePolicy

(8)请求失败时,如果有缓存则返回缓存(经常被用来与其它选项组合使用)

     ASIFallbackToCacheIfLoadFailsCachePolicy


 // 2.获得系统默认的缓存管理对象(决定着缓存存储路径)

    ASIDownloadCache *cache = [ASIDownloadCachesharedCache];

    cache.defaultCachePolicy =ASIOnlyLoadIfNotCachedCachePolicy;

    

    // 3.设置cache为全局缓存

    [ASIHTTPRequestsetDefaultCache:cache];

    

    // 设置缓存的有效时间

    [request1 setSecondsToCache:60*60*24*7];

    // 判断数据是否从缓存读取的

    BOOL useCache = [request1didUseCachedResponse];

二.缓存的存储策略:缓存需要保存多长时间

(1)默认策略:基于session的缓存数据存储,当下次运行或[ASIHTTPRequest clearSession]时,缓存将失效(内存缓存)

   ASICacheForSessionDurationCacheStoragePolicy

(2)缓存数据永久保存在本地(硬盘缓存)

   ASICachePermanentlyCacheStoragePolicy


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值