EGOCache緩存框架詳細講解
EGOCache是一個輕量級的緩存框架。用法簡單方便,在現在的項目中,我就用到EGOCache來緩存下載過的照片和字符串。
有人可能會問到,緩存照片還需要用EGOCache嗎?AFNetworking和SDWebImage不是已經有這些功能了嗎?
是的,不過AFNetworking和SDWebImage是http。我的項目用的是socket,所以我選擇EGOCache來做緩存。用下來覺得EGOCache還是挺強大的。
EGOCache簡介
EGOCache is a simple, thread-safe key value cache store. It has native support for NSString, UI/NSImage, and NSData, but can store anything that implements <NSCoding>. All cached items expire after the timeout, which by default, is one day.
翻譯過來就是:EGOCache一個簡單、線程安全的基于 key-value 的緩存框架,原生支持NSString、UI/NSImage、和NSData,也支持儲存任何實現協議的類,可以設定緩存過期時間,默認是1天。
EGOCache只有一個類,EGOCache.h和EGOCache.m兩個文件。用法也比較容易掌握,仔細研究一下EGOCache.h的方法,很快就可以上手。
EGOCache只提供了磁盤緩存,沒有提供內存緩存。同時,也提供了清理緩存的方法:
- (void)clearCache;
EGOCache還提供了判斷緩存是否存在的方法:
- (BOOL)hasCacheForKey:(NSString* __nonnull)key;
通過Cocoapods直接加入項目
直接在你的項目的Podfile加入下面一行:
pod 'EGOCache'
然后執行:
$ pod update
EGOCache用法
用EGOCache緩存NSString
存儲:
NSString *saveString = @"把我保存起來吧"; [[EGOCache globalCache] setString:saveString forKey:[NSString stringWithFormat:@"EGOImageLoader-%lu", (unsigned long)[saveString hash]] withTimeoutInterval:24*60*60];
讀取:
NSString *getSaveString = [[EGOCache globalCache] stringForKey:[NSString stringWithFormat:@"EGOImageLoader-%lu", (unsigned long)[@"SaveString" hash]]];
是不是感覺跟NSDictionary很相似,確實,前面我們說了EGOCache是基于key-value 的緩存框架。
用EGOCache緩存UIImage
存儲:
UIImage *saveImage = [UIImage imageNamed:@"iOSDevTip"]; [[EGOCache globalCache] setImage:saveImage forKey:[NSString stringWithFormat:@"EGOImageLoader-%lu", (unsigned long)[@"SaveImage" hash]] withTimeoutInterval:24*60*60];
讀取:
UIImage *getSaveImage = [[EGOCache globalCache] imageForKey:[NSString stringWithFormat:@"EGOImageLoader-%lu", (unsigned long)[@"SaveImage" hash]]];
用EGOCache緩存NSData
存儲:
NSData *saveData = [NSData data]; [[EGOCache globalCache] setData:saveData forKey:[NSString stringWithFormat:@"EGOImageLoader-%lu", (unsigned long)[@"SaveData" hash]] withTimeoutInterval:24*60*60];
讀取:
UIImage *getSaveData = [[EGOCache globalCache] dataForKey:[NSString stringWithFormat:@"EGOImageLoader-%lu", (unsigned long)[@"SaveData" hash]]];
EGOCache源碼下載
原文 http://www.superqq.com/blog/2015/07/01/egocachehuan-cun-kuang-jia-xia 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!