EGOCache缓存框架详细讲解

EGOCache是一个轻量级的缓存框架。用法简单方便,在现在的项目中,我就用到EGOCache来缓存下载过的照片和字符串。

有人可能会问到,缓存照片还需要用EGOCache吗?AFNetworkingSDWebImage不是已经有这些功能了吗?

是的,不过AFNetworking和SDWebImage是http。我的项目用的是socket,所以我选择EGOCache来做缓存。用下来觉得EGOCache还是挺强大的。

EGOCache简介

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

转载于:https://www.cnblogs.com/zhangjiayi/p/5016919.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值