2013-05-17 99 views
9

NSPersistentStoreCoordinator有四種商店類型:NSSQLiteStoreType,NSXMLStoreType,NSBinaryStoreTypeNSInMemoryStoreType。我知道XML存儲可以方便地進行調試,或者在需要易失性緩存時在內存中。NSBinaryStoreType的優點是什麼?

使用二進制存儲類型的真正優點是什麼?

回答

13

NSBinaryStoreType將佔用最少的磁盤空間,並將加載最快的原子存儲類型。

原子商店類型一次加載文檔中的每個核心數據對象,因此一旦加載了文檔,它就會全部存儲在內存中,並且直到您點擊​​時纔會再次點擊該磁盤。 NSSQLiteStoreType將佔用類似二進制的磁盤空間,加載速度非常快,可以存儲在任意有限的內存中,但只要應用程序打開該文件文件,它就需要在磁盤上可用 - 它不能被刪除或覆蓋通過另一個應用程序,而你使用它,原子類型將容忍。 SQL存儲類型還有一些侷限性,如laid out here - 通常,原子存儲類型的執行速度要快得多,並且會以增加的內存佔用爲代價提供更多功能。

NSBinaryStoreType絕不是最有效的原子存儲類型可能,它沒有以任何方式壓縮。您可以編寫自己的gzipped XML或JSON存儲類型,這可能會佔用磁盤空間少於NSSQLiteStoreTypeNSBinaryStoreType的負載/存儲速度。