Przechowywanie danych po stronie klienta

0

Witam,
Piszę sobie apkę w Angularze4 która pobiera dane z serwera. Jest to ok 150tys próbek - 15 wykresów. W przyszłości chcę mieć podzielone na ok 10 stron po 15 wykresów. To będzie pewnie ze 150mb danych lub więcej. Gdzie mogę przechowywać tego typu dane? Próbowałem w localStorage ale nie działa to za bardzo. Jak mogę się zabezpieczyć na przyszłość?

0

https://developer.mozilla.org/en-US/docs/Web/API/IndexedDB_API może się sprawdzić.

Domyślnie jest chyba 50 MB, ale za pozwoleniem użytkownika można poprosić o więcej.

Pozostaje jednak pytanie: dlaczego chciałbyś trzymać aż 150 MB po stronie klienta?

0

Chce tak trzymać bo to są dane z AWSa które wolno się ściagaja, a jeśli będę miał jest cachowane w przegladarce to bez pytania serwera moglbym je wyswietlac. A wiadomo, ze jesli jest sporo danych to chwile trwa pobieranie z serwera

0

Możesz też napisać apkę siedzącą pomiędzy przeglądarką a AWSem (tak, jak powinieneś od samego początku) - wtedy keszowanie możesz trzymać właśnie tam.

0

Jakbyś mógł mi tak troszęczkę szczegółowiej wyjaśnić, moje doświadczenie jest jeszcze dość słabe. Będę bardzo wdzięczny

0

Zamiast łączyć się z AWSem bezpośrednio z przeglądarki (tak jak zdaje się, że robisz teraz), niech przeglądarka łączy się z API na Twoim serwerze i dopiero to API odpytuje AWSa.

Dzięki temu:

  1. Nie musisz wysyłać do klienta (przeglądarki) Twoich danych AWS, bo wszystko trzymasz u siebie (w swoim API).
  2. Bez problemu jesteś w stanie dorzucić keszowanie.

Chyba że poprzez AWS rozumiesz w tym wypadku publiczne S3, no to wtedy fakt - nie ma co dodawać żadnego API :-P

0

dzieki za pomoc :) Chyba wezmę się za przechowywanie tych danych w indexedDB tylko nie wiem czy jest do tego jakaś fajna biblioteka. Jeśli nie to będę musiał to recznie wyklepać

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0