应该使用哪个缓存策略?

时间:2020-03-09 04:32:44

标签: ios swift nsurlrequestcachepolicy

我的数据是从JSON API检索的,并且每天都会更改数据。当前,我现在正在使用reloadIgnoringLocalCacheData,它会忽略缓存数据,并始终从原始源检索数据。

我的问题是,我可以先将缓存与原始缓存进行比较,如果不相等,然后从服务器检索数据,否则使用缓存数据。还是为缓存设置了过期时间,如何实现?

private var session: URLSession = {
        let config = URLSessionConfiguration.default
        config.urlCache = URLCache.shared
        config.waitsForConnectivity = true
        config.requestCachePolicy = .reloadIgnoringLocalCacheData
        return URLSession(configuration: config, delegate: nil, delegateQueue: nil)
    }()
    public enum CachePolicy : UInt {


        case useProtocolCachePolicy


        case reloadIgnoringLocalCacheData

        case reloadIgnoringLocalAndRemoteCacheData

        public static var reloadIgnoringCacheData: NSURLRequest.CachePolicy { get }


        case returnCacheDataElseLoad

        case returnCacheDataDontLoad


        case reloadRevalidatingCacheData
    }

0 个答案:

没有答案