Что я должен загрузить в память при загрузке моего приложения? - PullRequest
2 голосов
/ 09 ноября 2009

У меня есть объекты, которые я сохраняю в файловой системе с помощью сериализации. Когда я загружаю приложение, я должен загрузить все объекты в память или просто заглушки (для возможностей поиска)?

Если я загружаю только заглушки, то я загружаю их из файловой системы, когда они нужны, и сохраняю их в памяти для быстрого доступа.

Порядок величин - это сотни записей, а не тысячи.

Какой способ вы бы порекомендовали?

Ответы [ 5 ]

4 голосов
/ 09 ноября 2009

Загружайте по мере необходимости и сохраняйте в памяти, не тратьте время запуска, загружая вещи, которые не будут использоваться.

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

0 голосов
/ 09 ноября 2009

Память против производительности. Выберите, какой из них важнее (точнее, насколько он важен), и соответственно измените кеширование объектов.

Вы даже можете использовать Блок кэширования корпоративной библиотеки , который может ускорить вашу реализацию.

0 голосов
/ 09 ноября 2009

Это действительно будет зависеть от ваших сценариев использования для этих объектов. Все ли они часто используются приложением во время его работы? Они используются редко? Некоторые используются часто, в то время как другие используются нечасто?

Кроме того, каков ожидаемый базовый уровень ресурсов систем, на которых будет работать ваше приложение? Вы загружаете большие или маленькие объекты? Даже если их всего несколько сотен, если они все очень большие объекты, это будет существенным фактором. Если вам нужно низкопрофильное приложение, тогда загрузка по требованию может показаться более логичной.

На этот вопрос сложно ответить, не зная больше об ожидаемом использовании и базовой среде исполнения. Это очень субъективно.

0 голосов
/ 09 ноября 2009

Это зависит.

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

Если есть небольшая вероятность, что вы недооцениваете общее количество, используйте заглушки.

Это также зависит от размера записей и частоты их изменения.

0 голосов
/ 09 ноября 2009

Если размер и количество объектов всегда будут довольно маленькими, загрузите их при запуске. В противном случае используйте заглушки / прокси.

...