我一直在使用了一段時間,現在我自己的緩存系統使用NSFileManager
。通常我收到的數據是JSON,我只是將字典直接保存到緩存中(在文檔文件夾中)。當我需要它時,我會去得到它。我也實現了,有時當我覺得它更好時,根文件夾上的NSDictionary
帶有指定資源路徑的鍵/值。例如:
關於日內瓦天氣的資源17/02/2013,所以我將有一個名爲GE_17_02_2013的密鑰和值爲帶有信息的NSDictionary
的路徑。
通常我不需要做任何複雜的查詢。但是,不管怎樣,從我一直在閱讀的內容來看,當你有很多數據時,你應該堅持核心數據。就我而言,我通常擁有大量的數據,但是我從來沒有真正感受到應用程序的性能下降。所以我的問題是:
在這種情況下,如果有時(天氣事情只是一個 例子)我只是需要刪除所有數據(Twitter的飼料,爲 爲例),並通過更換全新的數據流,是Core 數據價值?我認爲刪除所有數據並插入(填充)它比存儲
NSDictionary
更重,並取代舊數據。有時它會進化得只剩圖像,TEXTFILES等和
NSFileManager
做它完美,所以有什麼優點可以睿 數據在此情況下,帶來了什麼?
P.S:我剛纔看到this後,在這種問題是由和數字證明了這一個實際上要快。不過,我還想要一個經驗的答案。
緩存更適用於離線場景。所以在正常的網絡訪問條件下,我通常會非常頻繁地更換存儲的數據,這就是我擔心的原因。另一個好處是隻使用'NSDictionary'而不需要知道他內部的內容(他是如何組成的)。只有'NSDictionary'的'NSManagedObject'有意義嗎? – Peres
緩存對於本地文件系統也很重要。文件系統訪問比內存訪問慢。我不確定爲什麼你不需要知道該字典裏面的內容,不要將它解讀爲某種觀點。如果您只存儲像任何其他,這恰好是一個序列化的詞典中的文件,那麼是的,有一個在使用核心數據 –
我的意思是沒有意義的,我知道里面有什麼,但如果由於某種原因,一個API的變化,並添加不同的東西,我不受此限制。 – Peres