我一直在使用了一段时间,现在我自己的缓存系统使用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