CodeBlanks Logo Icon CodeBlanks

HiveList ve lazy box

LazyBox ve HiveList ile büyük veriyi yönetmeyi öğrenirsin.

LazyBox nedir?

LazyBox, değerleri yalnızca talep edildiğinde diskten yükler. Sıradan box tüm değerleri açılışta belleğe alır; LazyBox ise await box.get('key') çağrılınca okur. Büyük veri kümelerinde bellek tasarrufu sağlar.

final box = await Hive.openLazyBox('large');
final value = await box.get('item1');

HiveList

HiveList, başka box'lardaki nesnelere referans tutan özel bir liste türüdür. Bir nesneyi birden fazla box'a kopyalamak yerine HiveList ile referans verirsin. Bu, veri tekrarını önler ve box'lar arası ilişki kurar.

// HiveList box'lardaki nesnelere referans tutar
// Aynı veriyi tekrarlamadan ilişki kurar

Uygulama LazyBox kullan

'large' adında lazy box aç. 'item1' anahtarına 'değer' koy. Değeri await ile oku ve yazdır. Box'ı kapat.

Başlangıç kodu

main.dart
import 'package:hive/hive.dart';

void main() async {
  Hive.init('hive_data');
  // 'large' adında lazy box aç
  // 'item1' anahtarına 'değer' koy
  // değeri await ile oku ve yazdır
}

Örnek çözüm

main.dart
import 'package:hive/hive.dart';

void main() async {
  Hive.init('hive_data');
  final box = await Hive.openLazyBox('large');
  await box.put('item1', 'değer');
  final value = await box.get('item1');
  print(value);
  await box.close();
}

Beklenen çıktı

değer

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 LazyBox ile Box arasındaki temel fark nedir?

  • LazyBox yalnızca string tutar, Box her türü
  • Box yalnızca bellekte çalışır, LazyBox diskte
  • İkisi tamamen aynıdır
  • LazyBox değerleri talep üzerine yükler, Box hepsini belleğe alır Doğru cevap

Açıklama: Box açılışta tüm değerleri belleğe yükler; LazyBox ise get çağrılınca diskten okur.

2 Lazy box aç

Soru
final box = await Hive.____('large_data');
Cevap
final box = await Hive.openLazyBox('large_data');

Açıklama: LazyBox açmak için Hive.openLazyBox kullanılır; değerler talep üzerine yüklenir.

3 LazyBox ve HiveList parçaları

Kavram Anlamı
LazyBox Talep üzerine yükler
openLazyBox Lazy box açar
HiveList Box'lar arası referans
await box.get Async değer okuma

İleri seviye bölümündeki tüm dersler