Chrome टीम ने IndexedDB (IDB) को लागू करने से जुड़ी परफ़ॉर्मेंस में कई सुधार किए हैं. इस तरह के सुधारों में से एक यह है कि हर इंस्टेंस के बैकिंग स्टोर को अलग सीक्वेंस में ले जाया गया है. इसे अलग थ्रेड के तौर पर देखा जा सकता है. इसका मतलब है कि अब एक ही साइट या अलग-अलग साइटों से IDB का एक साथ इस्तेमाल करना ज़्यादा तेज़ हो गया है. इस पोस्ट में पूरी जानकारी दी गई है. साथ ही, यह भी बताया गया है कि इस बदलाव का फ़ायदा पाने के लिए आपको क्या करना होगा. यह सुविधा, Chrome 126 से उपलब्ध है.
क्रॉस-साइट
अगर आईडीबी का इस्तेमाल क्रॉस-साइट पर किया जा रहा है, तो आपको कुछ भी करने की ज़रूरत नहीं है. ब्राउज़र लेवल पर यह बदलाव होने के बाद, हर IDB इंस्टेंस के बैकिंग स्टोर को अलग सीक्वेंस में ले जाया जाता है. इससे आपको बिना कुछ किए ही बेहतर परफ़ॉर्मेंस मिलती है.
Same-site
एक ही साइट पर इस्तेमाल के लिए, परफ़ॉर्मेंस को बेहतर बनाने के लिए, आपको आईडीबी के इस्तेमाल को अलग-अलग इंस्टेंस, यानी कि स्टोरेज बकेट में बांटना होगा. यहां दिए गए कोड के सैंपल में बताया गया है कि यह कैसे काम करता है:
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 से शार्ड किया जाता हो.
DevTools
Chrome DevTools की मदद से IDB इंस्टेंस की जांच करने पर, आपको इस्तेमाल किया गया स्टोरेज बकेट, बकेट का नाम सेक्शन में दिखेगा. इसे यहां दिए गए स्क्रीनशॉट में लाल बॉक्स से हाइलाइट किया गया है.
इसी विषय से जुड़े कुछ लिंक
- हर तरह का स्टोरेज एक जैसा नहीं होता: स्टोरेज बकेट के बारे में जानकारी
- ड्राफ़्ट स्पेसिफ़िकेशन
- ज़्यादा जानकारी
Acknowledgements
इस पोस्ट की समीक्षा इवान स्टेड और राहेल ऐंड्रयू ने की है.