フロントエンド——IndexedDB

1626 ワード

本文はindexedDBの基礎概念と対象だけを整理して、具体的な実行は自分でapiを調べる必要があります
IndexedDB
コンセプト
HTML5             ,NOSQL  ,         ,                   。

特長
  • キー値対ストレージ:内部にオブジェクトウェアハウス(Object Store)を用いてデータを格納し、すべてのタイプがjavascriptオブジェクトを含む直接格納でき、各データオブジェクトは一意のプライマリキー(重複不可)に対応する.
  • 非同期:ページの遅延を防ぐ
  • はトランザクションをサポートします:transaction、セキュリティがより高いです.
  • 同源制限:各データベースには彼の対応するドメイン名があり、ホームページは自分のドメイン名に対応するデータベースにしかアクセスできず、ドメインをまたいでアクセスできない.
  • のストレージ容量が大きい:例えばchromeの1本の記録は130 Mを超えてはいけない.FireFoxは
  • を制限していない.
  • はバイナリストレージをサポートする:ArrayBufferとBlob
  • 共通オブジェクト
  • indexedDBオブジェクト:開発者の操作インタフェースとしてブラウザが提供します.
  • IDBRequestオブジェクト:データベース接続を開くことを示すindexedDB.Open()メソッドとindexedDB.deleteDatabase()メソッドは、このオブジェクトを返します.(IDBOpenDBRequsetオブジェクトはIDBRequestオブジェクトを継承し、2つの追加イベントリスニング属性を提供する)
  • IDBDAtabaseオブジェクト:開いてIDBOpenDBRequsetから.resultプロパティでオブジェクトを取得し、接続されたデータベースを表します.その後、データベースの操作はこのオブジェクトによって行われます.
  • IDBObjectStoreオブジェクト:オブジェクトウェアハウスを表すデータを削除してインデックスを作成し、IDBdatabase.createObjectStore()メソッドはtransactionによって削除されます.objectStore取得.
  • IDBTransactionオブジェクト:このオブジェクトは非同期操作データベーストランザクションを使用し、すべての読み書き操作はこのオブジェクトによって行われ、IDBDAtebase.Transaction()メソッドは作成され、要求が発行される順序ではなく、実行される順序で作成されます.
  • IBDIndexオブジェクト:データベース内のレコードを取得できるデータベースインデックスを表し、データレコードのプライマリ・キーのデフォルトはインデックス付きであり、IDBIndexオブジェクトは他のキーに永続性インデックスを作成するために使用されます.
  • IBDCursorオブジェクト:ポインタオブジェクト、IDBObjectStore(IDBObjectStoreまたはインデックスIDBIndexのレコード)を巡回するためのポインタオブジェクト、IDBObjectStore.OpenCursor()メソッドは戻りを作成します.
  • IDBKeyRangeオブジェクト:データ・ウェアハウス内のプライマリ・キーのセットを表し、このプライマリ・キーのセットに基づいて対応するレコードを取得できます.