স্টোরেজ বাকেটের সাথে সর্বাধিক IndexedDB পারফরম্যান্স

ক্রোম টিম 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. */
};

ব্রাউজার সমর্থন

এই পোস্টে উল্লিখিত পারফরম্যান্স লাভ হল একটি প্রগতিশীল বর্ধন যা আপনি ব্যবহার করতে পারেন যখন স্টোরেজ বাকেটস API আপনার ব্রাউজারে সমর্থিত হয় (ক্রোম 122 থেকে) এবং যখন আইডিবি ইনস্ট্যান্সগুলি ক্রোম 126 থেকে শার্ড করা হয়।

ডেমো

গ্লিচে এই বৈশিষ্ট্যটির ডেমো দেখুন। সোর্স কোড পূর্ববর্তী কোড স্নিপেট থেকে ধারণাটি কার্যে দেখায়। ডেমোতে নির্দেশাবলী সাবধানে অনুসরণ করতে ভুলবেন না। আপনি যদি Chrome DevTools-এর সাহায্যে IDB দৃষ্টান্তগুলি পরিদর্শন করেন, তাহলে নিচের স্ক্রিনশটে একটি লাল বাক্স দিয়ে হাইলাইট করা বাকেট নাম বিভাগে ব্যবহৃত স্টোরেজ বাকেট দেখতে পাবেন।

Chrome DevTools IndexedDB বিভাগ পরিদর্শন করছে। দুটি লগ ডেটাবেস আছে, স্টোরেজ বাকেটের নাম

স্বীকৃতি

এই পোস্টটি Evan Stade এবং Rachel Andrew দ্বারা পর্যালোচনা করা হয়েছে।