HiveList ve lazy box
- Flutter kursu
- İleri seviye
- Ders 14/69
- 4 dk
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 kurarUygulama 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
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
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ç
final box = await Hive.____('large_data');
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 |