您的位置:首页 > 编程语言 > Go语言

EGOCache缓存框架详细讲解

2016-01-05 16:16 591 查看
EGOCache是一个轻量级的缓存框架。用法简单方便,在现在的项目中,我就用到EGOCache来缓存下载过的照片和字符串。
有人可能会问到,缓存照片还需要用EGOCache吗?AFNetworkingSDWebImage不是已经有这些功能了吗?
是的,不过AFNetworking和SDWebImage是http。我的项目用的是socket,所以我选择EGOCache来做缓存。用下来觉得EGOCache还是挺强大的。

EGOCache简介

EGOCacheisasimple,thread-safekeyvaluecachestore.IthasnativesupportforNSString,UI/NSImage,andNSData,butcanstoreanythingthatimplements<NSCoding>.Allcacheditemsexpireafterthetimeout,whichbydefault,isoneday.

翻译过来就是:EGOCache一个简单、线程安全的基于key-value的缓存框架,原生支持NSString、UI/NSImage、和NSData,也支持储存任何实现<NSCoding>协议的类,可以设定缓存过期时间,默认是1天。
EGOCache只有一个类,EGOCache.h和EGOCache.m两个文件。用法也比较容易掌握,仔细研究一下EGOCache.h的方法,很快就可以上手。
EGOCache只提供了磁盘缓存,没有提供内存缓存。同时,也提供了清理缓存的方法:

-(void)clearCache;

EGOCache还提供了判断缓存是否存在的方法:

-(BOOL)hasCacheForKey:(NSString*__nonnull)key;

通过Cocoapods直接加入项目

直接在你的项目的Podfile加入下面一行:

pod 'EGOCache'

然后执行:

$ podupdate

EGOCache用法

1. 用EGOCache缓存NSString
存储:

NSString*saveString=@"把我保存起来吧";

[[EGOCacheglobalCache]setString:saveStringforKey:[NSStringstringWithFormat:@"EGOImageLoader-%lu",(unsignedlong)[saveStringhash]]withTimeoutInterval:24*60*60];

读取:

NSString*getSaveString=[[EGOCacheglobalCache]stringForKey:[NSStringstringWithFormat:@"EGOImageLoader-%lu",(unsignedlong)[@"SaveString"hash]]];

是不是感觉跟NSDictionary很相似,确实,前面我们说了EGOCache是基于key-value的缓存框架。
2. 用EGOCache缓存UIImage
存储:

UIImage*saveImage=[UIImageimageNamed:@"iOSDevTip"];

[[EGOCacheglobalCache]setImage:saveImageforKey:[NSStringstringWithFormat:@"EGOImageLoader-%lu",(unsignedlong)[@"SaveImage"hash]]withTimeoutInterval:24*60*60];

读取:

UIImage*getSaveImage=[[EGOCacheglobalCache]imageForKey:[NSStringstringWithFormat:@"EGOImageLoader-%lu",(unsignedlong)[@"SaveImage"hash]]];

3. 用EGOCache缓存NSData
存储:

NSData*saveData=[NSDatadata];

[[EGOCacheglobalCache]setData:saveDataforKey:[NSStringstringWithFormat:@"EGOImageLoader-%lu",(unsignedlong)[@"SaveData"hash]]withTimeoutInterval:24*60*60];

读取:

UIImage*getSaveData=[[EGOCacheglobalCache]dataForKey:[NSStringstringWithFormat:@"EGOImageLoader-%lu",(unsignedlong)[@"SaveData"hash]]];

EGOCache源码下载

EGOCache
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  EGOCache 缓存