YYCache
用于iOS的高性能缓存框架。
(它是YYKit的一个组件)
性能
您可以下载并编译sqlite的最新版本并忽略iOS系统中libsqlite3.dylib以获得更高的性能。
有关更多基准案例,请参阅Benchmark/CacheBenchmark.xcodeproj
。
功能
- LRU:可以使用最近最少使用算法回收对象。
- 限制:可以通过计数、成本、年龄和空闲空间来控制缓存限制。
- 兼容性:该API与
NSCache
类似,所有方法都是线程安全的。 - 内存缓存
- 释放控制:可以在主线程或后台线程中同步或异步释放对象。
- 自动清除:可以配置在接收到内存警告或应用进入后台时自动清除对象。
- 磁盘缓存
- 自定义:支持自定义归档和解档方法来存储不实现NSCoding的对象。
- 存储类型控制:它可以自动决定每个对象的存储类型(sqlite / 文件),以获得更好的性能。
安装
CocoaPods
- 在你的Podfile中添加
pod 'YYCache'
。 - 运行
pod install
或pod update
。 - 导入
<YYCache/YYCache.h>
。
Carthage
- 在你的Cartfile中添加
github "ibireme/YYCache"
。 - 运行
carthage update --platform ios
并将框架添加到你的项目中。 - 导入
<YYCache/YYCache.h>
。
手动
- 下载YYCache子目录下的所有文件。
- 将源文件添加到你的Xcode项目。
- 链接到所需框架
- UIKit
- CoreFoundation
- QuartzCore
- sqlite3
- 导入
YYCache.h
。
文档
完整的API文档可在CocoaDocs上找到。
您也可以使用appledoc本地安装文档。
要求
该库需要iOS 6.0+和Xcode 8.0+。
许可
YYCache依据MIT许可提供。详情见LICENSE文件。
中文介绍
高性能iOS缓存框架。
(该项目是YYKit组件之一)
性能
建议到SQLite官网下载和编译最新的SQLite,替换iOS自带的libsqlite3.dylib,以获得更好的性能。
更多测试代码和用例见Benchmark/CacheBenchmark.xcodeproj
。
特性
- LRU: 缓存支持 LRU (最近最少使用) 弃除算法。
- 缓存控制: 支持多种缓存控制方法:总数量、总大小、存活时间、空闲空间。
- 兼容性: API 基本与
NSCache
保持一致,所有方法都是线程安全的。 - 内存缓存
- 对象释放控制: 对象的释放(release)可以配置为同步或异步进行,可以配置在主线程或后台线程进行。
- 自动清空: 在接收到内存警告或 App 进入后台时,缓存可以配置为自动清空。
- 磁盘缓存
- 可定制性: 磁盘缓存支持自定义的归档解档方法,以支持那些没有实现 NSCoding 协议的对象。
- 存储类型控制: 磁盘缓存支持对每个对象的存储类型(SQLite/文件)进行自动或手动控制,以获得更高的存取性能。
安装
CocoaPods
- 在 Podfile 中添加
pod 'YYCache'
。 - 执行
pod install
或pod update
。 - 导入 <YYCache/YYCache.h>。
Carthage
- 在 Cartfile 中添加
github "ibireme/YYCache"
。 - 执行
carthage update --platform ios
并将生成的 framework 添加到你的工程。 - 导入 <YYCache/YYCache.h>。
手动安装
- 下载 YYCache 文件夹内的所有内容。
- 将 YYCache 内的源文件添加(拖放)到你的工程。
- 链接以下 frameworks
- UIKit
- CoreFoundation
- QuartzCore
- sqlite3
- 导入
YYCache.h
。
文档
你可以在 CocoaDocs 查看在线 API 文档,也可以使用 appledoc 本地生成文档。
系统要求
该项目最低支持 iPhoneOS 6.0
和 Xcode 8.0
。
许可证
YYCache 使用 MIT 许可协议,详情见 LICENSE 文件。