Storages

IndexedDB

В IndexedDB данные хранятся в объектах, которые можно легко индексировать и искать в базе данных. Этот тип базы данных позволяет хранить любые типы данных, включая объекты и массивы. Когда пользователь закрывает браузер, данные сохраняются и снова загружаются при следующем запуске.

IndexedDB лучше всего подходит для приложений, которые работают с большими объемами данных, так как он поддерживает запросы по ключам и дополнительные индексы, что делает поиск и выборку данных более эффективным.

WebSQL

WebSQL был одним из первых типов локальных баз данных, который поддерживался в Google Chrome. В нем используется язык SQL для выполнения запросов к базе данных. Тип данных WebSQL очень похож на SQLite и имеет ту же производительность.

Хотя WebSQL и прекратили поддерживать, но он все еще работает во многих Chrome extensions. Кроме того, он все еще поддерживается в других браузерах, таких как Safari и Opera.

// Открываем базу данных const openDatabase = indexedDB.open('myDatabase', 1); // Создаем хранилище объектов openDatabase.onupgradeneeded = function() { const db = this.result; const store = db.createObjectStore('bookmarks', { keyPath: 'id'}); store.createIndex('title', 'title', { unique: false }); }

localStorage

localStorage — это наиболее простая и удобная локальная база данных, которая легко доступна и понятна для новичков в программировании. Однако он не обладает такой же производительностью, как другие типы локальных баз данных.

localStorage подходит для хранения малого объема данных, таких как настройки расширения или локальные данные пользователя. Данные сохраняются в виде пар ключ-значение, которые будут доступны после перезапуска браузера.