Решите, какую стратегию кэширования использовать? - PullRequest
0 голосов
/ 10 июня 2010

Я хочу кэшировать загруженные данные, чтобы сократить время запуска приложения.

Я знаю несколько стратегий хранения данных приложения

т.е. основные данные, nsuserdefaults, архивирование.

Теперь мой сценарий предполагает, что у меня есть массив из максимум 10 объектов, каждый из которых имеет 5 полей.

Так что я не могу решить, какую стратегию хранить этот массив, чтобы позже получить тот же.

Спасибо.

1 Ответ

2 голосов
/ 13 июня 2010

Никогда не храните данные кэша в NSUserDefaults;это не то, для чего это.

Архивирование стоит дорого и не должно использоваться.Управлять им также гораздо сложнее.

Базовые данные - почти всегда правильный ответ, если только хранение данных не является тривиальным.

Обновление

Архивация Также известный как сериализация является одним из самых дорогих способов записи данных на диск по сравнению с другими форматами.Точные детали трудно объяснить в ответе здесь, но все сводится к старому дизайну, который работает не так хорошо, как более современные системы персистентности, такие как Core Data.Поместив эти два элемента в ряд, вы увидите значительное увеличение производительности (из-за внутренней многопоточности, кэширования, поддержки базы данных на сервере и т. Д.) При использовании Core Data.

Тот факт, что Core Data также обрабатывает вашу модель данныхжизненный цикл и структура - это просто подкрепление увеличения производительности.

...