Tento článek je zrcadlovým článkem o strojovém překladu, klikněte zde pro přechod na původní článek.

Pohled: 3591|Odpověď: 1

[Jiné] Front-end ukládá balíček localForage pro IndexedDB

[Kopírovat odkaz]
Zveřejněno 12.10.2023 20:42:27 | | | |
Běžná front-end data storage řešení zahrnují převahu:Cookie、Web Storage、IndexedDB、WebSQL、local Storage、session Storageatd., například:

charakteristickýsušenkalocalStoragesessionStorageindexedDB
Životní cyklus datObvykle generované serverem lze nastavit dobu expirace; Lze také generovat komponenty jako front-end adopci a js-cookiePokud není vyčištěný, je tam vždy; Když je prohlížeč zavřený, je také uložen lokálně, ale cross-browser není podporovánČištění a obnova stránky bude stále existovat i po jejím uzavření a interakce napříč stránkami není podporovánaPokud se to nevyčistí, vždy tu bylo
Velikost datového úložiště4K5M5MŽádné omezení velikosti
Komunikujte se serveremJe vždy uveden v požadované hlavičce, což ovlivňuje výkon požadavku; Zároveň, protože je zahrnuta v žádosti, je náchylná k bezpečnostním problémůmNeúčastNeúčastNeúčast
zvláštnostPáry klíč-hodnota řetězce ukládají data lokálněPáry klíč-hodnota řetězce ukládají data lokálněPáry klíč-hodnota řetězce ukládají data lokálněIndexedDB je nerelační databáze (operace přes SQL příkazy nejsou podporovány). Dokáže ukládat velké množství dat, poskytovat rozhraní pro dotazování a vytvářet indexy, které jiné úložné systémy nedokážou poskytnout.

IndexedDB

Tento článek se zaměřuje především na využití IndexedDB pro front-end úložiště a je představen následovně:

IndexedDB je základní API pro ukládání velkého množství strukturovaných dat (také souborových/binárních velkých objektů (blobů)) na straně klienta. API využívá indexy k umožnění vysoce výkonného vyhledávání dat. I když je webové úložiště užitečné pro ukládání menších dat, není tak dobré jako ukládání větších strukturovaných dat. IndexedDB poskytuje řešení pro tento scénář. Tato stránka je hlavní stránkou průvodce pro MDN IndexedDB – zde poskytujeme kompletní referenci a průvodce používáním API, podrobnosti o podpoře prohlížeče a odkazy na některé vysvětlení klíčových konceptů.

IndexedDB má následující funkce:

(1) Úložiště páru klíč-hodnota. IndexedDB používá objektové úložiště pro ukládání dat. Všechny typy dat lze ukládat přímo, včetně JavaScript objektů. V objektovém úložišti jsou data uložena ve formě "párů klíč-hodnota" a každý datový záznam má odpovídající primární klíč, který je jedinečný a nelze jej duplikovat, jinak bude vyhozena chyba.

(2) Asynchronní. IndexedDB nezamyka prohlížeč a uživatel může stále provádět jiné operace, na rozdíl od LocalStorage, který funguje synchronně. Asynchronní návrh má zabránit čtení a zápisu velkého množství dat, což zpomaluje výkon webových stránek.

(3) Záležitosti podpory. IndexedDB podporuje transakce, což znamená, že pokud některý z kroků operace selže, celá transakce bude zrušena a databáze se vrátí do stavu před transakcí, takže nedochází k přepisování pouze části dat.

(4) Homologické omezení. IndexedDB podléhá stejnému limitu původu a každá databáze odpovídá doménovému jménu, které ji vytvořilo. Webové stránky mohou přistupovat pouze k databázím pod vlastními doménovými jmény, nikoli k databázím napříč doménami.

(5) Velký úložný prostor. IndexedDB má mnohem větší úložný prostor než LocalStorage, obvykle ne méně než 250MB, a neexistuje horní limit.

(6) Podpora binárního úložiště. IndexedDB může ukládat nejen řetězce, ale také binární data (objekty ArrayBuffer a objekty Blob).


Pokud je obtížné začít přímo s IndexedDB a potřebujete si ho sami zapouzdřit, můžete použít některé balíčky v balíčku, a to následovně:


  • localForage: Jednoduchý Polyfill, který poskytuje jednoduchou hodnotovou syntaxi pro datová úložiště na straně klienta. Na pozadí používá IndexedDB a v prohlížečích, které IndexedDB nepodporují, se vrací k WebSQL nebo localStorage.
  • Dexie.js: Obaly IndexedDB umožňují rychlejší vývoj kódu díky jednoduché syntaxi.
  • ZangoDB: Rozhraní IndexedDB podobné MongoDB, podporující většinu známých funkcí filtrování, projekce, třídění, aktualizace a agregace MongoDB.
  • JsStore: IndexedDB wrapper se syntaxí SQL.
  • MiniMongo: MongoDB v klientské paměti podporovaná localstorage, synchronizace serveru přes http. MeteorJS používá MiniMongo.
  • PouchDB: Klient, který implementuje CouchDB v prohlížeči pomocí IndexedDB.
  • idb: Malá (〜1.15k) knihovna s většinou API podobnou IndexedDB, ale s několika drobnými vylepšeními, která výrazně zlepšují použitelnost databáze.
  • idb-keyval: Super jednoduché a malé (~600B) úložiště založené na slibu klíč-hodnota implementované pomocí IndexedDB.
  • sifrr-storage: Velmi malá (~2kB) databáze klíč-hodnota na straně klienta založená na slibu. Implementováno na základě IndexedDB, localStorage, WebSQL a cookies. Dokáže automaticky vybrat podporované databáze uvedené výše a používat je podle priority.
  • lovefield: Lovefield je relační databáze pro webové aplikace, napsaná v JavaScriptu, která může běžet v různých prohlížečích a poskytuje API podobné SQL, které je rychlé, bezpečné a snadné na používání.

Místní pastvina

localForage je rychlý a jednoduchý JavaScriptový repozitář. localForage zlepšuje offline zážitek webových aplikací díky asynchronnímu úložišti (IndexedDB nebo WebSQL) a jednoduchému API podobnému localStorage. localForage používá localStorage v prohlížečích, které nepodporují IndexedDB ani WebSQL.

Adresa GitHubu:Přihlášení k hypertextovému odkazu je viditelné.
Čínský tutoriál:Přihlášení k hypertextovému odkazu je viditelné.

localForage poskytuje dva různé js soubory, rozdíly jsou následující:

localforage.js: knihovna Promise obsahující Lieovu implementaci (Přihlášení k hypertextovému odkazu je viditelné.), soubor je poměrně velký a syntax Promise lze použít ve starších prohlížečích.
localforage.nopromises.js: Neexistuje žádná implementace Promise, podporovány jsou pouze nové verze prohlížečů.

Testovací kód:



(Konec)




Předchozí:ASP.NET Základní (dvacet pět) závislostí vkládá inicializaci Lazy lazy lazy
Další:Rezervujte IP adresu CIDR blok v IPv4 privátní síti
 Pronajímatel| Zveřejněno 02.03.2025 19:12:18 |
Super jednoduché klíčové úložiště založené na slibech implementované lehkým IndexedDB:https://github.com/jakearchibald/idb-keyval
Zřeknutí se:
Veškerý software, programovací materiály nebo články publikované organizací Code Farmer Network slouží pouze k učení a výzkumu; Výše uvedený obsah nesmí být používán pro komerční ani nelegální účely, jinak nesou všechny důsledky uživatelé. Informace na tomto webu pocházejí z internetu a spory o autorská práva s tímto webem nesouvisí. Musíte výše uvedený obsah ze svého počítače zcela smazat do 24 hodin od stažení. Pokud se vám program líbí, podporujte prosím originální software, kupte si registraci a získejte lepší skutečné služby. Pokud dojde k jakémukoli porušení, kontaktujte nás prosím e-mailem.

Mail To:help@itsvse.com