YMCache 是 iOS 和 Mac OS X 的轻量级对象缓存解决方案, 设计用于高度并行访问场景。
YMCache 提供一个类似 NSMutableDictionary
的界面,同时利用苹果公司的 Grand Central Dispatch 技术,以便在性能和一致性之间取得平衡。
Yahoo Finance iOS 团队使用 YMCache 以复用接入其有数千实时股票的数据库,这些数据以难以预料的方式和节奏变化着。YMCache 通过提供一组容易理解的 reader-writer 访问语法,帮助缓解多线程访问中央数据库的复杂程度。
特性:
-
Persistence: 一次性或在定义的间隔时间内,从 disk 保存/加载缓存
-
Eviction: 使用任何你需要的逻辑来处理内存不足的情况
-
Serialization: 任意模型转换来,您可以使用 Mantle,或者 NSJSONSerialization,或者你能想到的任何其他格式!
-
Bulk operations: 高效的多值读/写。 (批量操作遵循 Parallel Access 规则,但算作一个单独的操作)