TMCache

TMCache设计的目的是用于存储临时持久化对象的开源iOS/OS  key/value缓存类库,减少重复创建像下载数据、缓慢的处理结果这样的昂贵性能花销。TMCache由两个本身相似的存储组成,一个是TMMemoryCache,存在于内存中,另外一个是TMDiskCache,存在于硬盘中,它们都支持GCD和从多线程中读取数据。在iOS中,如果使用内存缓存(TMMemoryCache),当App收到内存使用警告或者App被移到后台时(也就是打开了其他App),TMCache 会自动清理内存里面的缓存数据。当使用硬盘缓存(TMDiskCache)时, 需要开发者手动去清理缓存或者事先设置缓存区容量或者缓存期限。

 

TMCache 是 Tumblr 公司开发的一个快速,无死锁的并行对象缓存,支持 iOS 和 OS X 系统。

示例代码:

UIImage *img = [[UIImage alloc] initWithData:data scale:[[UIScreen mainScreen] scale]];
[[PINCache sharedCache] setObject:img forKey:@"image" block:nil]; // returns immediately

[[PINCache sharedCache] objectForKey:@"image"
                              block:^(PINCache *cache, NSString *key, id object) {
                                  UIImage *image = (UIImage *)object;
                                  NSLog(@"image scale: %f", image.scale);
                              }];

posted @ 2016-07-11 23:51  回忆12  阅读(270)  评论(0编辑  收藏  举报