Данные источника данных таблицы кэширования в angular - PullRequest
1 голос
/ 12 февраля 2020

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

Данные отображаются в таблице конструирования материала (источник данных).

Я читал некоторые блоги, которые предлагают использовать Rx JS * publishReplay вместе с RefCount или shareReplay для реализации кэширования.

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

Есть ли иная особенность, как управлять кешем в Angular? Каков рекомендуемый подход для сохранения записей базы данных в кеше (~ сотни строк)?

Спасибо

1 Ответ

1 голос
/ 12 февраля 2020

^^ У вас есть несколько вариантов.

  • Вы можете сделать это с помощью пользовательского кэша в службе ({ ссылка }). При таком подходе при перезагрузке приложения кэш также обновляется.

  • Вы можете использовать localStorage или sessionStorage. В этом случае кэш не будет обновляться при перезагрузке приложения (https://alligator.io/js/introduction-localstorage-sessionstorage/). В конце концов, хранилище браузера тоже использует оперативную память.

    localStorage и sessionStorage, которые делают sh одинаковыми и имеют один и тот же API, но с sessionStorage данные сохраняются только до тех пор, пока окно или вкладка не будут закрыто, в то время как с localStorage данные сохраняются до тех пор, пока пользователь вручную не очистит кэш браузера или пока ваше веб-приложение не очистит данные.

  • Вы можете go для более сложных решений как Орбита js, что похоже на базу данных в браузере, и вы можете работать в автономном режиме (очень круто)

Надеюсь, я помог!

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