DiskCache 是一个轻量级的缓存库,旨在将任意数据持久化到磁盘。
Swift 5.5x 工具链,使用 Swift Package Manager,iOS 13
将 DiskCache
添加到您的 Packages.swift
文件中
.package(url: "https://github.com/Mobelux/DiskCache.git", from: "2.0.0"),
let cache = try DiskCache(storageType: .temporary(nil))
有三种存储类型选项,它们本质上定义了缓存所在的根目录
temporary
- 将数据存储在用户的 Cache
目录中。 此目录受系统正常缓存清除规则的约束。 存储在此处的数据应被假定为临时数据,并可能随时被系统清除。permanent
- 将数据存储在用户的 Documents
目录中。 这不会被系统有意清除,并且可以安全地存储长期数据。shared
- 使用给定的 appGroupID
将数据存储在应用程序的共享容器中。 此类型非常适合在应用程序和扩展程序或兄弟应用程序之间共享数据。let imageData = ...
try await cache.cache(imageData, key: "cool-image")
var data = try await cache.data("cool-image")
注意:如果数据尚未使用给定的键进行缓存,则会抛出错误。 此错误的代码将为 NSFileReadNoSuchFileError
try await cache.delete("cool-image")
try await cache.deleteAll()
DiskCache 在 MIT 许可下发布。