2016-07-12 3 views
-1

Я хотел бы знать, какой подход будет лучше ниже сценарию:Что будет лучшим подходом Локальное хранение данных

У меня есть 100 продуктов типа (for ex. Dress, pant) и каждый из них имеет> 100 брендов, у меня есть один API службы, которые имеют два конца точки,

end pt1 : if i call this i will get all product types and all corresponding brands. 

end pt2: if i call this i will get all brands for a single product type. 

Мой подход,

endpt1 вызова и хранить эту информацию в локальном хранилище, и если вы переход от одной страницы продукта к другому вы не час ave, чтобы позвонить api снова в получить все бренды для этого типа продукта.

Но кто-то предложил,

DonT хранить что-либо вызов конец РТ2 если земля на любой странице продукта.

Какой подход должен быть лучшим в отношении времени, точности и обслуживания кода?

+2

Время поиска? Используйте локальное хранилище. Точность? Всегда загружайте его из API. Обслуживание? Должно быть одинаково, если вы можете написать хороший код. –

+0

Если вы используете localStorage, вам нужна стратегия синхронизации для изменений данных. – charlietfl

+2

Локальное хранилище подвержено возможному сбою из-за конфигурации пользователя и манипуляции с пользователем ... Я скорее позвоню api сто раз, чем полагаюсь на локальное хранилище. Но это всего лишь параноик меня, потому что, если ваши данные не «чувствительны», загрузка одного раза в сто раз лучше. Объедините их, сохраните pt1 и принесите по мере необходимости pt2. –

ответ

1

Я бы не использовал localstorage, если мне абсолютно не нужно. Локальные кэши становятся устаревшими, поэтому вам нужно их синхронизировать. Локальное хранилище может выйти из строя, если вы превысите ограничение на хранение. По необходимости он добавляет сложности вашему коду (2 источника данных вместо одного).

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

Даже если вам нужно оптимизировать, местное хранилище не будет моим первым выбором. Я бы кешировал данные в памяти (глобальную переменную) и выполнял маршрутизацию на стороне клиента или что-то еще.

Смежные вопросы