Cet article est un article miroir de traduction automatique, veuillez cliquer ici pour accéder à l’article original.

Vue: 3591|Répondre: 1

[Autre] L’interface stocke le forfait localForage d’IndexedDB

[Copié le lien]
Publié sur 12/10/2023 20:42:27 | | | |
Les solutions courantes de stockage de données front-end incluent principalement :Cookie、Web Storage、IndexedDB、WebSQL、local Storage、session Storageetc., par exemple :

caractéristiquebiscuitlocalStoragesessionStorageindexedDB
Cycle de vie des donnéesGénéré généralement par le serveur, le temps d’expiration peut être fixé ; Des composants tels que l’adoption front-end et js-cookie peuvent également être générésÀ moins d’être nettoyé, il est toujours là ; Lorsque le navigateur est fermé, il est également enregistré localement, mais la multi-navigation n’est pas prise en chargeLe nettoyage et le rafraîchissement de la page existeront toujours une fois la page fermée, et l’interaction inter-page n’est pas prise en chargeÀ moins d’être nettoyée, elle a toujours existé
Taille du magasin de données4K5M5MPas de limite de taille
Communiquez avec le serveurIl est intégré à chaque fois dans l’en-tête demandé, ce qui a un impact sur la performance de la requête ; En même temps, parce qu’elle est incluse dans la requête, elle est également sujette à des problèmes de sécuritéNe pas participerNe pas participerNe pas participer
particularitéLes paires clé-valeur de chaîne stockent les données localementLes paires clé-valeur de chaîne stockent les données localementLes paires clé-valeur de chaîne stockent les données localementIndexedDB est une base de données non relationnelle (les opérations via les instructions SQL ne sont pas prises en charge). Il peut stocker de grandes quantités de données, fournir des interfaces pour interroger et construire des index, ce que d’autres solutions de stockage ne peuvent fournir.

IndexedDB

Cet article décrit principalement l’utilisation d’IndexedDB pour le stockage front-end, et est présenté comme suit :

IndexedDB est une API sous-jacente pour stocker de grandes quantités de données structurées (également des fichiers ou objets binaires gros (blobs)) côté client. L’API utilise des index pour permettre des recherches de données à haute performance. Bien que le stockage Web soit utile pour stocker de plus petites quantités de données, il n’est pas aussi efficace que de stocker de plus grandes quantités de données structurées. IndexedDB propose une solution à ce scénario. Cette page est la page principale du guide MDN IndexedDB - ici, nous fournissons une référence complète de l’API et un guide d’utilisation, des détails sur le support du navigateur, ainsi que des liens vers certaines explications de concepts clés.

IndexedDB propose les fonctionnalités suivantes :

(1) Stockage par paires clé-valeur. IndexedDB utilise un stockage d’objets pour stocker les données. Tous les types de données peuvent être déposés directement, y compris les objets JavaScript. Dans le dépôt d’objets, les données sont stockées sous forme de « paires clé-valeur », et chaque enregistrement de données possède une clé primaire correspondante, unique et ne peut être dupliquée, sinon une erreur sera lancée.

(2) Asynchrone. IndexedDB ne verrouille pas le navigateur et l’utilisateur peut toujours effectuer d’autres opérations, contrairement à LocalStorage, qui fonctionne de manière synchrone. La conception asynchrone vise à empêcher la lecture et l’écriture de grandes quantités de données, ce qui ralentit la performance des pages web.

(3) Soutenir les affaires. IndexedDB prend en charge les transactions, ce qui signifie que si l’une des étapes de l’opération échoue, la transaction entière sera annulée, et la base de données sera reconvertie à l’état précédent de la transaction, sans qu’il n’y ait aucun cas de réécriture d’une partie des données.

(4) Restriction d’homologie. IndexedDB est soumis à la même limite d’origine, et chaque base de données correspond au nom de domaine qui l’a créée. Les pages web ne peuvent accéder qu’aux bases de données sous leur propre nom de domaine, et non aux bases de données inter-domaines.

(5) Grand espace de rangement. IndexedDB dispose d’un espace de stockage bien plus grand que LocalStorage, généralement pas moins de 250 Mo, et il n’y a pas de limite supérieure.

(6) Prendre en charge le stockage binaire. IndexedDB peut stocker non seulement des chaînes de caractères mais aussi des données binaires (objets ArrayBuffer et objets Blob).


Si il est difficile de commencer directement avec IndexedDB et que vous devez l’encapsuler vous-même, vous pouvez utiliser certains paquets empaquetés, comme suit :


  • localForage : Un Polyfill simple qui fournit une syntaxe de valeur simple pour les archives de données côté client. Il utilise IndexedDB en arrière-plan et revient à WebSQL ou localStorage dans les navigateurs qui ne prennent pas en charge IndexedDB.
  • Dexie.js : Les wrappers d’IndexedDB permettent un développement de code plus rapide grâce à une syntaxe simple.
  • ZangoDB : Une interface IndexedDB similaire à MongoDB, prenant en charge la plupart des fonctions familières de filtrage, projection, tri, mise à jour et agrégation de MongoDB.
  • JsStore : Un wrapper IndexedDB avec une syntaxe SQL.
  • MiniMongo : MongoDB en mémoire client supporté par localstorage, synchronisation serveur via http. MeteorJS utilise MiniMongo.
  • PouchDB : Un client qui implémente CouchDB dans le navigateur via IndexedDB.
  • idb : Une toute petite bibliothèque (〜1.15k) avec la majeure partie de l’API similaire à IndexedDB, mais avec quelques améliorations mineures qui améliorent grandement l’utilisabilité de la base de données.
  • idb-keyval : Stockage par paires clé-valeur basé sur la promesse très simple et petit (~600B) implémenté avec IndexedDB.
  • sifrr-storage : Une très petite base de données clé-valeur côté client basée sur des promesses. Implémenté basé sur IndexedDB, localStorage, WebSQL et Cookies. Il peut sélectionner automatiquement les bases de données prises en charge mentionnées ci-dessus et les utiliser par ordre de priorité.
  • lovefield : Lovefield est une base de données relationnelle pour applications web, écrite en JavaScript, peut fonctionner dans différents environnements de navigateur, et offre une API de type SQL rapide, sécurisée et facile à utiliser.

localForage

localForage est un dépôt JavaScript rapide et simple. localForage améliore l’expérience hors ligne des applications web en utilisant un stockage asynchrone (IndexedDB ou WebSQL) et une API simple similaire à localStorage. localForage utilise localStorage dans des navigateurs qui ne prennent pas en charge IndexedDB ou WebSQL.

Adresse GitHub :La connexion hyperlientérée est visible.
Tutoriel de chinois :La connexion hyperlientérée est visible.

localForage propose deux fichiers js différents, les différences sont les suivantes :

localforage.js: une bibliothèque Promise contenant l’implémentation de lie (La connexion hyperlientérée est visible.), le fichier est relativement volumineux, et la syntaxe promise peut être utilisée dans les navigateurs plus anciens.
localforage.nopromises.js: Il n’y a pas d’implémentation de Promise, seules les nouvelles versions des navigateurs sont prises en charge.

Code de test :



(Fin)




Précédent:ASP.NET Les dépendances de base (vingt-cinq) injectent une initialisation paresseuse paresseuse
Prochain:Réservez le bloc CIDR de l’adresse IP du réseau privé IPv4
 Propriétaire| Publié sur 02/03/2025 19:12:18 |
Stockage keyval très simple basé sur des promesses, implémenté par un IndexedDB léger :https://github.com/jakearchibald/idb-keyval
Démenti:
Tous les logiciels, supports de programmation ou articles publiés par Code Farmer Network sont uniquement destinés à l’apprentissage et à la recherche ; Le contenu ci-dessus ne doit pas être utilisé à des fins commerciales ou illégales, sinon les utilisateurs assumeront toutes les conséquences. Les informations sur ce site proviennent d’Internet, et les litiges de droits d’auteur n’ont rien à voir avec ce site. Vous devez supprimer complètement le contenu ci-dessus de votre ordinateur dans les 24 heures suivant le téléchargement. Si vous aimez le programme, merci de soutenir un logiciel authentique, d’acheter l’immatriculation et d’obtenir de meilleurs services authentiques. En cas d’infraction, veuillez nous contacter par e-mail.

Mail To:help@itsvse.com