Кеширование объектов в памяти в Javascript - PullRequest
0 голосов
/ 02 сентября 2018

Я пишу веб-приложение, которое выбирает список файлов с сервера и отображает его. Пользователь может щелкнуть папку, чтобы спуститься в нее (фактически не покидая страницу). Получение списка может занять некоторое время (~ 10 мс на файл, что очень много, если у вас есть 2000 файлов), поэтому я хочу кэшировать результаты, когда это возможно, чтобы избежать необходимости повторного извлечения его, если пользователь переходит в подкаталог, а затем отступить.

Однако, если я просто сохраню результаты в некоторой глобальной переменной, они быстро заполнят всю пользовательскую память. Есть ли какой-нибудь способ сказать браузеру «не стесняйтесь удалять этот объект, если у вас мало памяти», или получать уведомления, когда памяти мало?

1 Ответ

0 голосов
/ 02 сентября 2018

Если вы хотите сохранить эти объекты на компьютере пользователя, чтобы предотвратить повторный запрос с сервера, вы, вероятно, захотите использовать для этого что-то вроде LocalStorage.

Store.js предоставляет хороший API для локальных решений хранения.

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

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