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ść?
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?
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
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.
Jakbyś mógł mi tak troszęczkę szczegółowiej wyjaśnić, moje doświadczenie jest jeszcze dość słabe. Będę bardzo wdzięczny
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:
- Nie musisz wysyłać do klienta (przeglądarki) Twoich danych AWS, bo wszystko trzymasz u siebie (w swoim API).
- 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
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ć