See artikkel on masintõlke peegelartikkel, palun klõpsake siia, et hüpata algse artikli juurde.

Vaade: 3591|Vastuse: 1

[Muu] Esiosa salvestab IndexedDB localForage paketi

[Kopeeri link]
Postitatud 12.10.2023 20:42:27 | | | |
Levinumad esipaneeli andmesalvestuslahendused on peamiselt järgmised:Cookie、Web Storage、IndexedDB、WebSQL、local Storage、session Storagejne, näiteks:

tunnusküpsislocalStoragesessionStorageindexedDB
Andmete elutsükkelTavaliselt genereerib server ning aegumisaeg on seatud; Komponente nagu front-end kasutuselevõtt ja js-cookie saab samuti genereeridaKui seda ei puhastata, on see alati olemas; Kui brauser on suletud, salvestatakse see ka lokaalselt, kuid brauseritevaheline süsteem ei ole toetatudLehe puhastamine ja värskendamine jääb alles, kui leht on suletud, ning ristlehe interaktsioon ei ole toetatudKui pole puhastatud, on see alati olemas olnud
Andmesalvestuse suurus4K5M5MSuuruspiirangut ei ole
Suhtle serverigaSee kannab iga kord soovitud päises, mis mõjutab päringu tulemuslikkust; Samas, kuna see on päringusse lisatud, on see ka turvaprobleemide suhtes vastuvõtlikMitte osalemineMitte osalemineMitte osalemine
OmapäraStringi võtme-väärtuse paarid salvestavad andmeid lokaalseltStringi võtme-väärtuse paarid salvestavad andmeid lokaalseltStringi võtme-väärtuse paarid salvestavad andmeid lokaalseltIndexedDB on mitte-relatsiooniline andmebaas (SQL-lausete kaudu tehtud toimingud ei ole toetatud). See suudab salvestada suuri andmemahtu, pakkuda päringuliideseid ja luua indekseid, mida teised salvestuslahendused ei suuda pakkuda.

IndexedDB

See artikkel kirjeldab peamiselt IndexedDB kasutamist esiosa salvestuseks ning tutvustatakse järgmiselt:

IndexedDB on aluseks olev API, mis võimaldab kliendipoolsel poolel salvestada suuri hulka struktureeritud andmeid (ka faili/binaarseid suuri objekte (blobsid)). API kasutab indekseid, et võimaldada andmete kõrge jõudlusega otsinguid. Kuigi veebisalvestus on kasulik väiksemate andmemahtude salvestamiseks, ei ole see nii hea kui suuremate struktureeritud andmete salvestamine. IndexedDB pakub sellele olukorrale lahendust. See leht on MDN IndexedDB peamine juhendi leht – siin pakume täielikku API viite ja kasutusjuhendit, brauseri toe üksikasju ning viiteid mõnele võtmekontseptsiooni selgitusele.

IndexedDB-l on järgmised funktsioonid:

(1) Võtme-väärtuse paari salvestamine. IndexedDB kasutab andmete salvestamiseks objektide salvestust. Kõiki andmetüüpe saab otse deponeerida, sealhulgas JavaScripti objektid. Objektide hoidlas salvestatakse andmed "võtme-väärtuse paaridena" ning igal andmekirjel on vastav esmane võti, mis on unikaalne ja mida ei saa dubleerida, vastasel juhul tekib viga.

(2) Asünkroonne. IndexedDB ei lukusta brauserit ja kasutaja saab siiski teha muid toiminguid, erinevalt LocalStorage'ist, mis töötab sünkroonselt. Asünkroonne disain on mõeldud selleks, et takistada suurte andmemahtude lugemist ja kirjutamist, aeglustades veebilehtede jõudlust.

(3) Toetusasjad. IndexedDB toetab tehinguid, mis tähendab, et kui mõni operatsioonisamm ebaõnnestub, tühistatakse kogu tehing ning andmebaas viiakse tagasi tehingu eelnevale olekule ning ei ole juhtumit, kus ainult osa andmetest ümber kirjutatakse.

(4) Homoloogia piirang. IndexedDB-l on sama päritolupiirang ning iga andmebaas vastab domeeninimele, mis selle lõi. Veebilehed pääsevad andmebaasidele ligi ainult oma domeeninimede all, mitte domeenideüleseid andmebaase.

(5) Suur hoiuruum. IndexedDB-l on palju suurem salvestusruum kui LocalStorage'il, tavaliselt mitte vähem kui 250MB, ning ülemist piiri ei ole.

(6) Binaarsalvestuse tugi. IndexedDB suudab salvestada mitte ainult stringe, vaid ka binaarandmeid (ArrayBuffer objektid ja Blob objektid).


Kui IndexedDB-ga otse alustamine on keeruline ja pead selle ise kapseldama, võid kasutada mõningaid pakendatud pakette järgmiselt:


  • localForage: Lihtne Polyfill, mis pakub lihtsat väärtussüntaksit kliendipoolsetele andmesalvestustele. See kasutab taustal IndexedDB-d ja pöördub tagasi WebSQL-i või localStorage'i peale brauserites, mis IndexedDB-d ei toeta.
  • Dexie.js: IndexedDB ümbrised võimaldavad lihtsa süntaksi abil kiiremat koodiarendust.
  • ZangoDB: IndexedDB liides, mis sarnaneb MongoDB-le, toetades enamikku MongoDB tuttavaid filtreerimis-, projektsiooni-, sorteerimis-, uuendamis- ja agregeerimisfunktsioone.
  • JsStore: IndexedDB wrapper SQL süntaksiga.
  • MiniMongo: MongoDB kliendimälus, mida toetab kohalik salvestus, serveri sünkroniseerimine http kaudu. MeteorJS kasutab MiniMongot.
  • PouchDB: Klient, mis rakendab CouchDB brauseris, kasutades IndexedDB-d.
  • idb: Väike (〜1.15k) teek, kus enamik API-st on sarnane IndexedDB-le, kuid mõningate väikeste täiustustega, mis oluliselt parandavad andmebaasi kasutusmugavust.
  • idb-keyval: Väga lihtne ja väike (~600B) lubaduspõhine võtme-väärtuse paari salvestus, mis on rakendatud IndexedDB-ga.
  • sifrr-storage: Väga väike (~2kB) promise-põhine kliendipoolne võtme-väärtuse andmebaas. Teostatud IndexedDB, localStorage, WebSQL ja küpsiste alusel. See saab automaatselt valida ülalmainitud toetatud andmebaasid ja kasutada neid prioriteedi järjekorras.
  • lovefield: Lovefield on relatsiooniline andmebaas veebirakendustele, kirjutatud JavaScriptis, saab töötada erinevates brauserikeskkondades ning pakub SQL-laadset API-d, mis on kiire, turvaline ja lihtne kasutada.

localForage

localForage on kiire ja lihtne JavaScripti hoidla. localForage parandab veebirakenduste võrguühenduseta kogemust, kasutades asünkroonset salvestust (IndexedDB või WebSQL) ja lihtsat API-d, mis sarnaneb localStorage'ile. localForage kasutab localStorage'i brauserites, kus puudub IndexedDB või WebSQL tugi.

GitHubi aadress:Hüperlingi sisselogimine on nähtav.
Hiina keele õpetus:Hüperlingi sisselogimine on nähtav.

localForage pakub kahte erinevat js-faili, erinevused on järgmised:

localforage.js: Promise raamatukogu, mis sisaldab lie rakendust (Hüperlingi sisselogimine on nähtav.), fail on suhteliselt suur ning lubaduse süntaksit saab kasutada vanemates brauserites.
localforage.nopromises.js: Promise'i implementeerimist ei ole, toetatakse ainult uusi brauseri versioone.

Testkood:



(Lõpp)




Eelmine:ASP.NET Core (kakskümmend viis) sõltuvus süstivad Laisk laisk laisk initsialiseerimine
Järgmine:Reserveeri IPv4 privaatvõrgu IP-aadressi CIDR plokk
 Üürileandja| Postitatud 02.03.2025 19:12:18 |
Väga lihtne lubaduspõhine keyval salvestus, mida rakendab kerge IndexedDB:https://github.com/jakearchibald/idb-keyval
Disclaimer:
Kõik Code Farmer Networki poolt avaldatud tarkvara, programmeerimismaterjalid või artiklid on mõeldud ainult õppimiseks ja uurimistööks; Ülaltoodud sisu ei tohi kasutada ärilistel ega ebaseaduslikel eesmärkidel, vastasel juhul kannavad kasutajad kõik tagajärjed. Selle saidi info pärineb internetist ning autoriõiguste vaidlused ei ole selle saidiga seotud. Ülaltoodud sisu tuleb oma arvutist täielikult kustutada 24 tunni jooksul pärast allalaadimist. Kui sulle programm meeldib, palun toeta originaaltarkvara, osta registreerimist ja saa paremaid ehtsaid teenuseid. Kui esineb rikkumist, palun võtke meiega ühendust e-posti teel.

Mail To:help@itsvse.com