NSPersistentStoreCoordinator
有四种商店类型:NSSQLiteStoreType
,NSXMLStoreType
,NSBinaryStoreType
和NSInMemoryStoreType
。我知道XML存储可以方便地进行调试,或者在需要易失性缓存时在内存中。NSBinaryStoreType的优点是什么?
使用二进制存储类型的真正优点是什么?
NSPersistentStoreCoordinator
有四种商店类型:NSSQLiteStoreType
,NSXMLStoreType
,NSBinaryStoreType
和NSInMemoryStoreType
。我知道XML存储可以方便地进行调试,或者在需要易失性缓存时在内存中。NSBinaryStoreType的优点是什么?
使用二进制存储类型的真正优点是什么?
NSBinaryStoreType
将占用最少的磁盘空间,并将加载最快的原子存储类型。
原子商店类型一次加载文档中的每个核心数据对象,因此一旦加载了文档,它就会全部存储在内存中,并且直到您点击时才会再次点击该磁盘。 NSSQLiteStoreType
将占用类似二进制的磁盘空间,加载速度非常快,可以存储在任意有限的内存中,但只要应用程序打开该文件文件,它就需要在磁盘上可用 - 它不能被删除或覆盖通过另一个应用程序,而你使用它,原子类型将容忍。 SQL存储类型还有一些局限性,如laid out here - 通常,原子存储类型的执行速度要快得多,并且会以增加的内存占用为代价提供更多功能。
NSBinaryStoreType
绝不是最有效的原子存储类型可能,它没有以任何方式压缩。您可以编写自己的gzipped XML或JSON存储类型,这可能会占用磁盘空间少于NSSQLiteStoreType
或NSBinaryStoreType
的负载/存储速度。