Spec-Zone.ru › Dart 1

Библиотека dart:indexed_db

Клиентское хранилище ключ-значение с поддержкой индексов.

Многие браузеры поддерживают IndexedDB — веб-стандарт для индексированной базы данных. Хранение данных в IndexedDB на клиенте обеспечивает веб-приложению преимущества, такие как более высокая производительность и сохранение данных. Чтобы узнать, какие браузеры поддерживают IndexedDB, обратитесь к Can I Use?

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

Использование indexed_db

Классы в этой библиотеке обеспечивают интерфейс к IndexedDB браузера, если он есть. Чтобы использовать эту библиотеку в вашем коде:

import 'dart:indexed_db';

Веб-приложение может определить, поддерживает ли браузер IndexedDB с помощью supported:

if (IdbFactory.supported)
  // Use indexeddb.
else
  // Find an alternative.

Доступ к IndexedDB браузера предоставляет верхнеуровневый объект Window приложения, на который ваш код может ссылаться с помощью window.indexedDB. Таким образом, например, вот как использовать window.indexedDB для открытия базы данных:

Future open() {
  return window.indexedDB.open('myIndexedDB',
      version: 1,
      onUpgradeNeeded: _initializeDatabase)
    .then(_loadFromDB);
}
void _initializeDatabase(VersionChangeEvent e) {
  ...
}
Future _loadFromDB(Database db) {
  ...
}

Все данные в IndexedDB хранятся в ObjectStore. Для управления базой данных используйте Transactionы.

Другие ресурсы

Другие варианты хранения данных на стороне клиента включают:

  • Window.localStorage — базовый механизм, хранящий данные в виде Map, где и ключи, и значения являются строками.

  • dart:web_sql — база данных, которую можно запросить с помощью SQL.

Для получения учебного пособия по использованию библиотеки indexed_db с Dart ознакомьтесь со статьей Использование IndexedDB.

Справочник по IndexedDB предоставляет справочную документацию в стиле вики по IndexedDB.

Свойства

indexed_dbBlinkMap → dynamic
@Deprecated("Только для внутреннего использования"), final

Классы

Cursor
CursorWithValue
Database

Объект индексированной базы данных для хранения данных на стороне клиента в веб-приложениях.

IdbFactory
Index
KeyRange
ObjectStore
OpenDBRequest
Request
Transaction
VersionChangeEvent

© 2012 the Dart project authors
Licensed under the Creative Commons Attribution-ShareAlike License v4.0.
https://api.dartlang.org/stable/1.24.3/dart-indexed_db/dart-indexed_db-library.html

Spec-Zone.ru

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