Apple支持从iOS 5.0开始的磁盘缓存。我以前使用家庭解决方案,但是我正在测试NSURLCache
,希望能够最终使用它,因为我以前看到过奇怪的行为。NSURLCache是否删除过期的缓存响应?
我遇到的一个更令人困惑的问题是cachedResponseForRequest:
返回过期的请求。我一直在测试,通过在我使用的iPhone上设置时钟。解析标题清楚地表明设备时间超过了到期日期。
我愿意接受可能存在一个后台任务,以定期修剪过期的请求。我已经完成了测试,我实际上等待看看请求是否“自然”过期,而不是。
Apple没有正确实现缓存失效吗?
我使用Charles代理进行测试。这是一个tough problem,我不羡慕任何必须实现缓存失效的人,但iOS现在应该是一个成熟的SDK。
+1有趣的问题。 – Till 2012-08-16 23:07:34
一年后,我有同样的问题,缓存的响应永不过期:http://stackoverflow.com/questions/18747090/nsurlcache-cached-response-doesnt-expire – Michal 2013-09-12 09:43:23