IndexedDB nedir?
IndexedDB'nin ne sağladığını ve localStorage'dan farkını öğrenirsin.
IndexedDB nedir?
IndexedDB, tarayıcıda yapılandırılmış veriyi saklayan yerleşik bir veritabanıdır. localStorage'tan farklı olarak büyük miktarda veriyi, nesneleri ve hatta dosya blob'larını tutabilir. Veriler kalıcıdır: sayfa yenilenince ya da tarayıcı kapatılınca kaybolmaz.
IndexedDB'nin API'si asenkron çalışır; yani işlem bitene kadar sayfayı dondurmaz. Sonuçları request.onsuccess gibi olay (event) dinleyicileriyle alırsın.
localStorage farkı
localStorage basit anahtar-değer çiftleri için uygundur; yalnızca metin saklar ve senkron çalışır. IndexedDB ise nesneleri, dizileri ve blob'ları doğrudan tutabilir, asenkron çalışır ve çok daha büyük veri miktarlarını kaldırır.
localStorage.setItem('theme', 'dark');Ayarlar gibi küçük değerler için localStorage yeterlidir; notlar, mesajlar veya ürünler gibi zengin veriler için IndexedDB tercih edilir.
Uygulama IndexedDB desteğini denetle
window üzerinde 'indexedDB' özelliğinin varlığını in ile kontrol et. Yoksa console.log ile 'unsupported', varsa 'supported' yazdır.
Örnek çözümü göster
if (!('indexedDB' in window)) {
console.log('unsupported');
} else {
console.log('supported');
}
Kendini test et
-
IndexedDB için hangisi doğrudur?
- API'si asenkron çalışır, sayfayı dondurmaz
- Yalnızca metin (string) saklayabilir
- Veriler tarayıcı kapatılınca silinir
- Veriler sunucuda tutulur
Cevabı göster
API'si asenkron çalışır, sayfayı dondurmaz — Doğru! IndexedDB'nin API'si asenkron çalışır; büyük nesneler tutabilir.
-
IndexedDB nesnesine eriş
const idb = window.____;Cevabı göster
const idb = window.indexedDB; -
localStorage ve IndexedDB farkları
- localStorage
- yalnızca metin saklar
- IndexedDB
- nesne ve blob saklar
- setItem / getItem
- senkron erişim
- request.onsuccess
- asenkron sonuç