首页 > 解决方案 > 应该使用哪个缓存策略?

问题描述

我的数据是从 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
    }

标签: iosswiftnsurlrequestcachepolicy

解决方案


推荐阅读