Spec-Zone.ru › Web APIs

API IndexedDB

Примечание: Эта функция доступна в Web Workers.

IndexedDB — это API низкого уровня для хранения на стороне клиента значительного объёма структурированных данных, включая файлы/объекты BLOB. Этот API использует индексы для обеспечения высокой производительности поиска этих данных. Хотя Web Storage полезен для хранения небольших объёмов данных, он менее полезен для хранения больших объёмов структурированных данных. IndexedDB предоставляет решение. Это основная страница для документации IndexedDB на MDN — здесь мы предоставляем ссылки на полную справку по API, руководства по использованию, информацию о поддержке браузерами и некоторые объяснения ключевых концепций.

Основные понятия и использование

IndexedDB — это транзакционная система баз данных, подобная системе управления реляционными базами данных (RDBMS) на основе SQL. Однако в отличие от RDBMS на основе SQL, которые используют таблицы с фиксированными столбцами, IndexedDB — это объектно-ориентированная база данных на JavaScript. IndexedDB позволяет хранить и извлекать объекты, индексированные с помощью ключа; любые объекты, поддерживаемые алгоритмом структурного клонирования, могут быть сохранены. Вам нужно указать схему базы данных, открыть подключение к базе данных, а затем извлекать и обновлять данные в серии транзакций.

  • Подробнее о основных характеристиках и терминологии IndexedDB.
  • Научитесь использовать IndexedDB асинхронно с нуля в нашем руководстве Использование IndexedDB.
  • Посмотрите полный пошаговый пример в руководстве проверка, когда истекает срок.

Примечание: Как и большинство решений для хранения веб-данных, IndexedDB следует политике одного источника. Таким образом, хотя вы можете получить доступ к сохранённым данным в пределах домена, вы не можете получить доступ к данным разных доменов.

Синхронные и асинхронные операции

Операции, выполняемые с помощью IndexedDB, выполняются асинхронно, чтобы не блокировать приложения.

Ограничения хранилища и критерии удаления

Существует ряд веб-технологий, которые хранят данные одного типа или другого на стороне клиента (т.е. на вашем локальном диске). IndexedDB упоминается чаще всего. Процесс, с помощью которого браузер определяет, сколько места выделить для хранения веб-данных и что удалить, когда этот предел будет достигнут, не прост и отличается в разных браузерах. Квоты и критерии удаления данных браузера пытается объяснить, как это работает, по крайней мере, в случае Firefox.

Интерфейсы

Для получения доступа к базе данных вызовите open() на свойстве indexedDB объекта window. Этот метод возвращает объект IDBRequest; асинхронные операции сообщают вызывающему приложению, генерируя события на объектах IDBRequest.

Подключение к базе данных

IDBFactory

Обеспечивает доступ к базе данных. Объект этого типа является значением глобальных свойств Window.indexedDB и WorkerGlobalScope.indexedDB. Поэтому это точка входа в API.

IDBOpenDBRequest

Представляет запрос на открытие базы данных.

IDBDatabase

Представляет подключение к базе данных. Это единственный способ получить транзакцию в базе данных.

Извлечение и изменение данных

IDBTransaction

Представляет транзакцию. Вы создаёте транзакцию в базе данных, указываете область (например, какие хранилища объектов вы хотите получить доступ), и определяете тип доступа (только чтение или чтение-запись).

IDBRequest

Общий интерфейс, который обрабатывает запросы к базе данных и предоставляет доступ к результатам.

IDBObjectStore

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

IDBIndex

Также позволяет получить доступ к подмножеству данных в базе данных IndexedDB, но использует индекс для извлечения записи(ей) вместо первичного ключа. Это иногда быстрее, чем использование IDBObjectStore.

IDBCursor

Итерируется по хранилищам объектов и индексам.

IDBCursorWithValue

Итерируется по хранилищам объектов и индексам и возвращает текущее значение курсора.

IDBKeyRange

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

Интерфейсы пользовательских событий

Этот стандарт генерирует события с помощью следующего пользовательского интерфейса:

IDBVersionChangeEvent

Интерфейс IDBVersionChangeEvent указывает, что версия базы данных изменилась в результате обработчика событий IDBOpenDBRequest.onupgradeneeded.

Примеры

  • Уведомления о задачах (посмотреть пример в браузере): Примерное приложение для примеров в документации.

Спецификации

Спецификация
API базы данных Indexed 3.0

См. также

  • Web Storage API
  • Свойство Window: localStorage
  • Свойство Window: sessionStorage
  • StorageEvent

© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/IndexedDB_API

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API