YYCache 1.0.4

YYCache 1.0.4

测试已测试
语言语言 Obj-CObjective C
许可 MIT
发布最后发布2016年9月

ibireme维护。



YYCache 1.0.4

         

高性能 iOS 缓存框架。
(它是 YYKit 的组件之一)

性能

Memory cache benchmark result

Disk benchmark result

您可能需要 下载 和编译 sqlite 的最新版本,并忽略 iOS 系统中的 libsqlite3.dylib 以获得更高的性能。

有关更多基准案例,请参阅 Benchmark/CacheBenchmark.xcodeproj

特性

  • LRU:对象可以使用最少最近使用算法被替换。
  • 限制:可以按计数、成本、年龄和可用空间来控制缓存限制。
  • 兼容性:API 与 NSCache 类似,所有方法都是线程安全的。
  • 内存缓存
    • 发布控制:对象可以同步或异步在主线程或后台线程上释放。
    • 自动清除:它可以在接收到内存警告或应用进入后台时自动替换对象。
  • 磁盘缓存
    • 自定义:它支持自定义归档和解档方法来存储不属于 NSCoding 的对象。
    • 存储类型控制:它可以自动决定每个对象的存储类型(sqlite /文件)以获得更好的性能。

安装

手动

  1. 下载 YYCache 子目录中的所有文件。
  2. 将源文件添加到您的 Xcode 项目中。
  3. 链接到所需的框架
    • UIKit
    • CoreFoundation
    • QuartzCore
    • sqlite3
  4. 导入 YYCache.h

文档

完整的 API 文档可在 CocoaDocs 上找到。
您还可以使用 appledoc 在本地安装文档。

要求

此库需要 iOS 6.0+Xcode 7.0+

许可

YYCache 在 MIT 许可下提供。有关详细信息,请参阅 LICENSE 文件。



中文介绍

高性能 iOS 缓存框架。
(该项目是 YYKit 组件之一)

性能

iPhone 6 上,内存缓存每秒响应次数 (越高越好): 内存缓存基准测试结果

iPhone 6 上,磁盘缓存每秒响应次数 (越高越好): 磁盘基准测试结果

推荐访问 SQLite 官网下载和编译最新的 SQLite,以替换 iOS 自带的 libsqlite3.dylib,从而获得最高 1.5~3 倍的性能提升。

更多测试代码和用例见 Benchmark/CacheBenchmark.xcodeproj

特性

  • LRU: 缓存支持 LRU (最近最少使用) 淘汰算法。
  • 缓存控制: 支持多种缓存控制方法:总数量、总大小、存活时间、空闲空间。
  • 兼容性: API 基本和 NSCache 保持一致, 所有方法都是线程安全的。
  • 内存缓存
    • 对象释放控制: 对象的释放可以通过配置为同步或异步进行,可以在主线程或后台线程进行。
    • 自动清空: 当收到内存警告或 App 进入后台时,缓存可以配置为自动清空。
  • 磁盘缓存
    • 可定制性: 磁盘缓存支持自定义的归档解档方法,以支持没有实现 NSCoding 协议的对象。
    • 存储类型控制: 磁盘缓存支持对每个对象的存储类型 (SQLite/文件) 进行自动或手动控制,以提高存取性能。

安装

手动安装

  1. 下载 YYCache 文件夹内的所有内容。
  2. 将 YYCache 内的源文件添加(拖放)到您的工程。
  3. 链接以下框架
    • UIKit
    • CoreFoundation
    • QuartzCore
    • sqlite3
  4. 导入 YYCache.h

文档

您可以在 CocoaDocs 上查看在线 API 文档,也可以使用 appledoc 在本地生成文档。

系统要求

该项目最低支持 iOS 6.0Xcode 7.0

许可证

YYCache 使用 MIT 许可证,详细信息请参阅 LICENSE 文件。

相关链接

YYCache 设计思路与技术细节