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,您就能使用這個 API (來自 Chrome 122),以及為 IDB 執行個體進行資料分割時,從 Chrome 126 開始。
示範
如要查看這項功能的示範影片,請參閱這篇文章: 毛刺。原始碼會顯示 上一個程式碼片段的實際概念請務必仔細遵守 畫面中的操作說明使用 Chrome 檢查 IDB 執行個體時 您可以透過開發人員工具的「值區名稱」部分,查看已使用的儲存空間值區, 在下方螢幕截圖中以紅色方塊醒目顯示。
相關連結
特別銘謝
這則貼文是由 審核 Evan Stade 和 Rachel Andrew。