Acest articol este un articol oglindă al traducerii automate, vă rugăm să faceți clic aici pentru a sări la articolul original.

Vedere: 3591|Răspunde: 1

[Altele] Front-end-ul stochează pachetul localForage al IndexedDB

[Copiază linkul]
Postat pe 12.10.2023 20:42:27 | | | |
Soluțiile comune de stocare a datelor front-end includ în principal:Cookie、Web Storage、IndexedDB、WebSQL、local Storage、session Storageetc., de exemplu:

caracteristicprăjiturălocalStoragesessionStorageindexedDB
Ciclul de viață al datelorÎn general, generat de server, timpul de expirare poate fi setat; Pot fi generate și componente precum adoptarea front-end și js-cookieDacă nu este curățat, este mereu acolo; Când browserul este închis, acesta este salvat și local, dar nu este suportat cross-browserCurățarea și reîmprospătarea paginii vor exista în continuare când pagina este închisă, iar interacțiunea între pagini nu este suportatăDacă nu a fost curățat, a existat mereu
Dimensiunea stocului de date4K5M5MFără limită de mărime
Comunică cu serverulAceasta este prezentată în antetul solicitat de fiecare dată, ceea ce are un impact asupra performanței cererii; În același timp, deoarece este inclus în cerere, este predispus și la probleme de securitateNu participNu participNu particip
ParticularitatePerechile cheie-valoare de șir stochează datele localPerechile cheie-valoare de șir stochează datele localPerechile cheie-valoare de șir stochează datele localIndexedDB este o bază de date nerelațională (operațiile prin instrucțiuni SQL nu sunt suportate). Poate stoca cantități mari de date, poate oferi interfețe pentru interogări și poate construi indexuri, pe care alte soluții de stocare nu le pot furniza.

IndexedDB

Acest articol descrie în principal utilizarea IndexedDB pentru stocarea front-end și este introdus astfel:

IndexedDB este un API de bază pentru stocarea unor cantități mari de date structurate (de asemenea, obiecte mari de fișiere/binare (blobs)) pe partea clientului. API-ul folosește indici pentru a permite căutări de înaltă performanță ale datelor. Deși Web Storage este utilă pentru stocarea unor cantități mai mici de date, nu este la fel de bună ca stocarea unor cantități mai mari de date structurate. IndexedDB oferă o soluție pentru acest scenariu. Această pagină este pagina principală de ghid pentru MDN IndexedDB - aici oferim un ghid complet de referință și utilizare API, detalii pentru suportul browserului și linkuri către câteva explicații ale conceptelor cheie.

IndexedDB are următoarele caracteristici:

(1) Stocarea perechii cheie-valoare. IndexedDB folosește un object store pentru a stoca datele. Toate tipurile de date pot fi depuse direct, inclusiv obiectele JavaScript. În depozitul de obiecte, datele sunt stocate sub forma unor "perechi cheie-valoare", iar fiecare înregistrare de date are o cheie primară corespunzătoare, care este unică și nu poate fi duplicată, altfel va apărea o eroare.

(2) Asincron. IndexedDB nu blochează browserul, iar utilizatorul poate efectua în continuare alte operații, spre deosebire de LocalStorage, care funcționează sincron. Designul asincron are scopul de a preveni citirea și scrierea unor cantități mari de date, încetinind performanța paginilor web.

(3) Sprijinirea afacerilor. IndexedDB suportă tranzacții, ceea ce înseamnă că, dacă unul dintre pașii operaționali eșuează, întreaga tranzacție va fi anulată, iar baza de date va fi readusă la starea anterioară tranzacției, fără ca o parte din date să fie rescrisă.

(4) Restricția de omologie. IndexedDB este supus aceleiași limite de origine, iar fiecare bază de date corespunde domeniului care a creat-o. Paginile web pot accesa doar baze de date sub propriile domenii, nu bazele de date cross-domain.

(5) Spațiu mare de depozitare. IndexedDB are un spațiu de stocare mult mai mare decât LocalStorage, în general nu mai puțin de 250MB, și nu există o limită superioară.

(6) Susține stocarea binară. IndexedDB poate stoca nu doar șiruri, ci și date binare (obiecte ArrayBuffer și obiecte Blob).


Dacă este dificil să începi direct cu IndexedDB și trebuie să-l încapsulezi singur, poți folosi câteva pachete ambalate, după cum urmează:


  • localForage: Un Polyfill simplu care oferă o sintaxă simplă a valorii pentru depozitele de date de pe partea clientului. Folosește IndexedDB în fundal și revine la WebSQL sau localStorage în browserele care nu suportă IndexedDB.
  • Dexie.js: Wrapper-urile IndexedDB permit o dezvoltare mai rapidă a codului printr-o sintaxă simplă.
  • ZangoDB: O interfață IndexedDB similară cu MongoDB, care suportă majoritatea funcțiilor familiare de filtrare, proiecție, sortare, actualizare și agregare ale MongoDB.
  • JsStore: Un wrapper IndexedDB cu sintaxă SQL.
  • MiniMongo: MongoDB în memoria clientului, suportat de localstorage, sincronizarea serverului prin http. MeteorJS folosește MiniMongo.
  • PouchDB: Un client care implementează CouchDB în browser folosind IndexedDB.
  • idb: O bibliotecă mică (〜1.15k) cu cea mai mare parte a API-ului similară cu IndexedDB, dar cu unele îmbunătățiri minore care îmbunătățesc considerabil uzabilitatea bazei de date.
  • idb-keyval: Stocare super simplă și mică (~600B) bazată pe promisiuni pentru perechi cheie-valoare, implementată cu IndexedDB.
  • sifrr-storage: O bază de date cheie-valoare foarte mică (~2kB) bazată pe promisiuni, pe partea clientului. Implementat pe baza IndexedDB, localStorage, WebSQL și Cookies. Poate selecta automat bazele de date suportate menționate mai sus și le poate folosi în ordinea priorității.
  • lovefield: Lovefield este o bază de date relațională pentru aplicații web, scrisă în JavaScript, poate rula în diferite medii de browser și oferă un API asemănător SQL, rapid, sigur și ușor de folosit.

localFuraje

localForage este un depozit JavaScript rapid și simplu. localForage îmbunătățește experiența offline a aplicațiilor web prin utilizarea stocării asincre (IndexedDB sau WebSQL) și a unui API simplu similar cu localStorage. localForage folosește localStorage în browsere care nu au suport pentru IndexedDB sau WebSQL.

Adresă GitHub:Autentificarea cu hyperlink este vizibilă.
Tutorial de chineză:Autentificarea cu hyperlink este vizibilă.

localForage oferă două fișiere js diferite, diferențele fiind următoarele:

localforage.js: o bibliotecă Promise care conține implementarea lie (Autentificarea cu hyperlink este vizibilă.), fișierul este relativ mare, iar sintaxa promise poate fi folosită în browserele mai vechi.
localforage.nopromises.js: Nu există implementare a Promise, sunt suportate doar versiuni noi de browsere.

Cod de test:



(Sfârșit)




Precedent:ASP.NET Dependențele de bază (douăzeci și cinci) injectează inițializarea Lazy lazy lazy
Următor:Rezervați adresa IP blocul CIDR al rețelei private IPv4
 Proprietarul| Postat pe 02.03.2025 19:12:18 |
Stocare keyval super simplă, bazată pe promisiuni, implementată de un IndexedDB ușor:https://github.com/jakearchibald/idb-keyval
Disclaimer:
Tot software-ul, materialele de programare sau articolele publicate de Code Farmer Network sunt destinate exclusiv scopurilor de învățare și cercetare; Conținutul de mai sus nu va fi folosit în scopuri comerciale sau ilegale, altfel utilizatorii vor suporta toate consecințele. Informațiile de pe acest site provin de pe Internet, iar disputele privind drepturile de autor nu au legătură cu acest site. Trebuie să ștergi complet conținutul de mai sus de pe calculatorul tău în termen de 24 de ore de la descărcare. Dacă îți place programul, te rugăm să susții software-ul autentic, să cumperi înregistrarea și să primești servicii autentice mai bune. Dacă există vreo încălcare, vă rugăm să ne contactați prin e-mail.

Mail To:help@itsvse.com