JavaScriptTingkat: Menengah7 min
Penyimpanan Klien Terstruktur dengan IndexedDB API
Simpan data berskala besar, file blob, dan objek terstruktur di sisi browser dengan basis data transaksional NoSQL bawaan: IndexedDB.
Mengapa IndexedDB Menggantikan localStorage?
Pratinjau TerbukalocalStorage dibatasi sekitar 5MB dan bersifat sinkronus sehingga dapat memblokir thread UI. IndexedDB bersifat asynchronous, mendukung transaksi ACID, indeks multi-kunci, dan kapasitas penyimpanan hingga ratusan megabyte.
Contoh Kode Sintaks
// Membuka database IndexedDB
const request = indexedDB.open("AzzamStorageDB", 1);
request.onupgradeneeded = (e) => {
const db = e.target.result;
if (!db.objectStoreNames.contains("proyek")) {
const store = db.createObjectStore("proyek", { keyPath: "id" });
store.createIndex("kategori", "kategori", { unique: false });
}
};
request.onsuccess = (e) => {
const db = e.target.result;
// Membuka transaksi baca/tulis
const tx = db.transaction("proyek", "readwrite");
const store = tx.objectStore("proyek");
store.put({ id: 101, judul: "Sistem Portofolio", kategori: "Web" });
console.log("Data proyek berhasil disimpan ke IndexedDB.");
};Live Compiler Runner
Akses Kursus Wajib Login
Buka Akses Penuh Silabus & Praktikum
Masuk dengan akun GitHub, Google, atau Akses Cepat Developer untuk membuka seluruh materi mendalam, menjalankan compiler interaktif, mengerjakan kuis, dan menyimpan progres belajar Anda.
145+ Modul Lengkap•Tersimpan Otomatis•Sertifikat Kelulusan Resmi