|
24 / 18 / 9
Регистрация: 27.04.2017
Сообщений: 122
|
|
Localstorage как способ ускорения приложения29.10.2019, 11:39. Показов 879. Ответов 6
Метки нет (Все метки)
Всем привет.
Скажем, у нас типичное приложение, которые получает некие данные от АПИ. Эти данные на серваке API обновляются раз в сутки. Скажем, в полночь. Что если мы будем их сохранять в localStorage (я использую redux-persist, но сути это, по идее, не меняет). Заходит клиент с утра, скачивает свежие данные в localstorage. если он вечером снова заходит в приложение - то уже не придется слать запрос на сервак, т.к. свежие данные есть в local-stirage. Вопрос в том, как это влияет на производительность? Localstorage-операции вроде не очень быстрые. Но, наверно, это выгодней, чем постоянно слать запросы на сервак за теми же данными?
0
|
|
| 29.10.2019, 11:39 | |
|
Ответы с готовыми решениями:
6
Как построить график скорости, ускорения, тангенциального ускорения по времени в двумерной плоскости? Найти модуль скорости; модуль тангенциального ускорения; модуль нормального ускорения; модуль полного ускорения Найти ускорения грузов и угловые ускорения блоков |
|
27 / 22 / 6
Регистрация: 13.12.2012
Сообщений: 159
|
|
| 29.10.2019, 12:30 | |
|
У меня сразу вопрос - как ваше приложение будет узнавать когда нужно сходить и обновить localStorage, а когда можно это не делать?
Добавлено через 11 минут Вообще вопрос интересный, но забегая наперед, не уверен что такой финт даст заметный прирост с точки зрения ощущений юзера, даже почти уверен, что и не даст.
0
|
|
|
24 / 18 / 9
Регистрация: 27.04.2017
Сообщений: 122
|
|
| 29.10.2019, 13:01 [ТС] | |
|
drmedus, например вот так:
Есть API, данные на нём обновляются раз в сутки в полночь. Когда мы фетчим данные от API - то еще записываем в хранилище timestamp. Соответственно, при заходе юзера сравниваем текущее время и timestamp. если заморочиться - можно при заходе юзера включать таймер. На случай - если он зайдет в 23-55, просидит в приложении до 00-15, а данные API обновляются в 00-00. Тогда при срабатывании таймера можно выводить сообщение с предложением зафетчить свежие данные. правильно ли я думаю, что любые вычисления на стороне клиента (если мы не говорим об ОЧЕНЬ больших объемах данных) будут быстрее, чем обращение к API?
0
|
|
|
27 / 22 / 6
Регистрация: 13.12.2012
Сообщений: 159
|
|
| 29.10.2019, 14:53 | |
|
Ну прямо отвечая на вопрос - в целом да. Но по моему мнению, ваш вопрос некорректно поставлен. Ну в том плане, что смотря что требуется и смотря чего добиваться. Если вам важно ну вот нунедайбох сделать лишний запрос к апи, то да - храните локально на домене. Но локальное хранение автоматически подразумевает некий дополнительный функционал по обеспечению синхронизации и контролю консистентности. И вот тут вопрос - это прям действительно зачем-то нужно? При загрузке приложения совершенно нормально сделать запрос на апи и попросить инфу.... даже если эта инфа не поменялась от предыдущей загрузки.
0
|
|
|
24 / 18 / 9
Регистрация: 27.04.2017
Сообщений: 122
|
|
| 29.10.2019, 15:05 [ТС] | |
|
мой вопрос был отчасти абстрактный.
Вот, скажем, у нас стоит задача, чтобы приложение работало как можно быстрее (прям вот каждый маленький прирост - это плюс) Может ли хранение в localstorage и исключение ненужных запросов к API - быть одним из способов этого добиться? Если отбросить вопрос про сложность имплементации)
0
|
|
|
27 / 22 / 6
Регистрация: 13.12.2012
Сообщений: 159
|
|
| 29.10.2019, 15:46 | |
|
ну видимо да
0
|
|
|
707 / 309 / 191
Регистрация: 05.03.2015
Сообщений: 822
|
|
| 30.10.2019, 00:02 | |
|
Идея интересная, но правильней было бы решать её с помощью сервис воркера (гуглите service worker cache). Так же не стоит забывать о разнице между клиентским и серверным временем, а так же о времени обновления этих ваших данных в полночь (уверен, обновляются эти данные не моментально и есть риск закешировать не успевшие обновиться данные еще на сутки)
0
|
|
| 30.10.2019, 00:02 | |
|
Помогаю со студенческими работами здесь
7
Способ получения данных из другого приложения Как записать в localStorage Как выводить localStorage в div Как объединить localstorage и cookie? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование
. \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json>
Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом.
# Check if. . .
|
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так:
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347
Основана на STM32F303RBT6.
На борту пять. . .
|
Символьное дифференцирование
igorrr37 13.02.2026
/ *
Программа принимает математическое выражение в виде строки и выдаёт его производную в виде строки и вычисляет
значение производной при заданном х
Логарифм записывается как: (x-2)log(x^2+2) -. . .
|
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
|
|
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу,
и светлой Луне.
В мире
покоя нет
и люди
не могут жить в тишине.
А жить им немного лет.
|
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила»
«Время-Деньги»
«Деньги -Пуля»
|
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога
Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
|