Depolama Paketleri ile maksimum IndexedDB performansı

Chrome ekibi, IndexedDB (IDB) uygulanması. Bu tür iyileştirmelerden biri, yedek deposunu ayrı bir sıraya koymak (bunları yaklaşık olarak ayrı bir ileti dizisi olarak). Bu, IDB'nin eşzamanlı kullanımın daha hızlı hale getirebiliyor. Bu yayın tüm ve bu geçişten yararlanmak için yapmanız gerekenleri açıklıyor. Chrome 126'dan edinilebilir.

Siteler arası

IDB kullanımınız siteler arası ise herhangi bir işlem yapmanıza gerek yoktur. Bu tarayıcı düzeyinde taşıma gerçekleşmiştir ve her bir IDB örneğinin yedekleme deposu geçiş yaparsanız, performans artışı sizin yerinize gelir. bir şey.

Aynı site

Aynı site kullanımıyla ilgili bu performans geliştirmesini elde etmek için farklı örneklere ayırarak, yani depolama paketlerini kullanın. Aşağıdaki kod örneği , bunun nasıl çalışabileceğini gösterir:

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. */
};

Tarayıcı desteği

Bu gönderide bahsedilen performans kazancı, Storage Buckets API'nin tarayıcınızda desteklendiği zamanlardan yararlanabilirsiniz (Chrome 122'den) ve IDB örnekleri kırıldığında Chrome 126'dan.

Demo

Şu adreste bu özelliğin demosunu bulabilirsiniz: Arıza. Kaynak kod, önceki kod snippet'inin nasıl çalıştığını gösterir. Bu adımları uygulamaya başlamadan önce demodaki talimatları izleyin. IDB örneklerini Chrome ile denetlerseniz Geliştirici Araçları'nın bulunduğu Paket adı bölümünde, kullanılan depolama alanı paketini aşağıdaki ekran görüntüsünde kırmızı bir kutuyla vurgulanmıştır.

Chrome Geliştirici Araçları, IndexedDB bölümünü inceliyor. Storage paketi adı olmak üzere iki günlük veritabanı vardır.

Teşekkür

Bu yayın şu kullanıcı tarafından incelendi: Evan Stade ve Rıza Ahmet.