Obecnie eksperymentuję z localStorage, aby przechowywać dużą liczbę obiektów tego samego typu i jestem nieco zdezorientowany.Najlepsza praktyka korzystania z localstorage do przechowywania dużej ilości obiektów
Jednym ze sposobów myślenia jest przechowywanie całego obiektu w tablicy. Ale wtedy dla każdego odczytu/zapisu pojedynczego obiektu muszę deserializować/serializować całą tablicę.
Innym sposobem jest bezpośrednie przechowywanie każdego obiektu z jego kluczem w localStorage. Ułatwi to dostęp do każdego obiektu, ale martwię się ilością obiektów, które będą przechowywane (dziesiątki tysięcy). Ponadto, pobieranie wszystkich obiektów będzie wymagało iteracji całego localStorage!
Zastanawiam się, która droga będzie lepsza w twoim doświadczeniu? Czy warto byłoby wypróbować bardziej rozbudowaną bazę danych po stronie klienta, taką jak PouchDB?
Czy jest szansa, że Twój projekt może zebrać ponad 5 MB danych w trybie offline? Jeśli tak, to zdecydowanie potrzebujesz PouchDB i jego adapterów WebSQL i IndexedDB (nadal posiadasz opcję localStorage dla bardzo starych przeglądarek). –
Jestem świadomy limitu 5 MB na localstorage. Jak na razie jest dobrze, więc nie martwię się tym zbytnio. PouchDB to zależność 100k + Nie chcę tego dodawać, jeśli to naprawdę pomoże. – Wudong
Cóż, jeśli przestrzeń nie jest problemem, to dlaczego nie pójść do PouchDB i uniknąć wszystkiego, zastanawiasz się, jak przechowywać dane i jak je późno aktualizować. Pozwól, aby interfejs API PouchDB dbał o to zamiast Ciebie. Masz również bardzo dobre wsparcie dla mapowania/zmniejszania stylu CouchDB, a nawet wtyczek SQL, GQL i Mongo do pisania zapytań w stylu SQL, Google QL lub Mongo. Powodzenia –