EGOCache緩衝架構詳細講解

來源:互聯網
上載者:User

標籤:egocache   egocache緩衝   egocache緩衝架構   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源碼下載

EGOCache

作者李剛是剛剛線上(www.superqq.com)站長,百度百家專欄作者
iOS工程師非著名自媒體,公眾號iOS開發:iOSDevTip運營者


?

著作權聲明:本文為博主原創文章,未經博主允許不得轉載。

EGOCache緩衝架構詳細講解

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.