ストレージ バケットでの IndexedDB の最大パフォーマンス
コレクションでコンテンツを整理
必要に応じて、コンテンツの保存と分類を行います。
Chrome チームは、
IndexedDB(IDB)の実装です。その改善の一つが
各インスタンスのバッキング ストアを個別のシーケンスに
おおむね、独立したスレッドとして扱われます。つまり IDB の同時使用は
同じサイトからクロスサイトでも
より高速に処理できるようになりましたこの投稿では
その詳細、この移行を利用するために必要なことについての説明、
この機能は Chrome 126 から利用できます
クロスサイト
IDB をクロスサイトで使用する場合は、何もする必要はありません。これが
ブラウザレベルの移行が行われ、各 IDB インスタンスのバッキング ストアが
別のシーケンスに移動した場合 パフォーマンスの向上は
何でもです。
同一サイト
同一サイトの使用に対してこのパフォーマンスを向上させるには、
異なるインスタンスへの IDB 使用状況の把握、
ストレージ バケット。次のコードサンプル
では、この仕組みについて説明します。
const request = indexedDB.open('main', 1);
request.onsuccess = (event) => {
/* Do stuff with the main instance. */
};
// By default, just use the regular IDB instance.
let idb = indexedDB;
// Open a separate storage bucket if the API is supported.
if ('storageBuckets' in navigator) {
const bucket = await navigator.storageBuckets.open('logs-bucket');
// Get access to the storage bucket's IDB instance.
idb = bucket.indexedDB;
}
const bucketRequest = idb.open('logs', 1);
bucketRequest.onsuccess = (event) => {
/* Do stuff with the separate instance. */
};
ブラウザ サポート
この投稿で紹介したパフォーマンス向上は、
ブラウザで Storage Buckets API がサポートされている場合
(Chrome 122 以降)と IDB インスタンスがシャーディングされている場合(Chrome 126 以降)。
デモ
この機能のデモ:
グリッチ。ソースコードを見ると、
コンセプトの実際の例を見てみましょう。ご自身の責任において
確認します。Chrome で IDB インスタンスを検査する場合
DevTools では、使用されているストレージ バケットが [バケット名] セクションに表示されます。
次のスクリーンショットでは、赤いボックスでハイライト表示されています。
謝辞
この投稿は によりレビューされました
Evan Stade、
Rachel Andrew。
特に記載のない限り、このページのコンテンツはクリエイティブ・コモンズの表示 4.0 ライセンスにより使用許諾されます。コードサンプルは Apache 2.0 ライセンスにより使用許諾されます。詳しくは、Google Developers サイトのポリシーをご覧ください。Java は Oracle および関連会社の登録商標です。
最終更新日 2024-06-13 UTC。
[{
"type": "thumb-down",
"id": "missingTheInformationINeed",
"label":"必要な情報がない"
},{
"type": "thumb-down",
"id": "tooComplicatedTooManySteps",
"label":"複雑すぎる / 手順が多すぎる"
},{
"type": "thumb-down",
"id": "outOfDate",
"label":"最新ではない"
},{
"type": "thumb-down",
"id": "translationIssue",
"label":"翻訳に関する問題"
},{
"type": "thumb-down",
"id": "samplesCodeIssue",
"label":"サンプル / コードに問題がある"
},{
"type": "thumb-down",
"id": "otherDown",
"label":"その他"
}]
[{
"type": "thumb-up",
"id": "easyToUnderstand",
"label":"わかりやすい"
},{
"type": "thumb-up",
"id": "solvedMyProblem",
"label":"問題の解決に役立った"
},{
"type": "thumb-up",
"id": "otherUp",
"label":"その他"
}]
{"lastModified": "\u6700\u7d42\u66f4\u65b0\u65e5 2024-06-13 UTC\u3002"}
[[["わかりやすい","easyToUnderstand","thumb-up"],["問題の解決に役立った","solvedMyProblem","thumb-up"],["その他","otherUp","thumb-up"]],[["必要な情報がない","missingTheInformationINeed","thumb-down"],["複雑すぎる / 手順が多すぎる","tooComplicatedTooManySteps","thumb-down"],["最新ではない","outOfDate","thumb-down"],["翻訳に関する問題","translationIssue","thumb-down"],["サンプル / コードに問題がある","samplesCodeIssue","thumb-down"],["その他","otherDown","thumb-down"]],["最終更新日 2024-06-13 UTC。"]]