Firestore ile başlıyorum. Çevrimdışı veri kalıcılığıyla ilgili dokümanlar ve eğitimler okudum ancak Firestore, içerik değiştirilmese bile veriyi tekrar indirirse gerçekten açıklamıyorum. Örneğin, sonuçların haftada bir kez güncelleneceği bir sorgu varsa ve değişiklik yapılıncaya kadar uygulamanın içeriği yeniden indirmesine gerek duymuyorsa, kod yazımı için verimlilik açısından en iyi yol hangisidir? ? Teşekkürler!Firestore - Çevrimiçi içerik güncellemelerine kadar önbellek kullanımı
cevap
Sorgunuzda dinlemek için "anlık dinleyici" API kullanmak istiyorum:
db.collection("cities").where("state", "==", "CA")
.onSnapshot(function(querySnapshot) {
var cities = [];
querySnapshot.forEach(function(doc) {
cities.push(doc.data().name);
});
console.log("Current cities in CA: ", cities.join(", "));
});
bu dinleyici takmak ilk defa Firestore erişecek: Burada https://firebase.google.com/docs/firestore/query-data/listen#listen_to_multiple_documents_in_a_collection
örnek olarak bazı JavaScript var Ağın tüm sonuçlarını sorgunuza yükleyebilir ve beklediğiniz gibi bir sorgu anlık görüntüsü sağlar.
Aynı dinleyiciyi ikinci kez eklerseniz ve çevrimdışı kalıcılığını kullanıyorsanız, dinleyici hemen önbellekten alınan sonuçlarla tetiklenir. İşte size sonuç önbellek veya yerel olup olmadığını tespit edebilirsiniz: önbelleğe sonuç almak sonra Firestore sorgu sonucu herhangi bir değişiklik olup olmadığını görmek için sunucu ile kontrol edecektir
db.collection("cities").where("state", "==", "CA")
.onSnapshot({ includeQueryMetadataChanges: true }, function(snapshot) {
snapshot.docChanges.forEach(function(change) {
if (change.type === "added") {
console.log("New city: ", change.doc.data());
}
var source = snapshot.metadata.fromCache ? "local cache" : "server";
console.log("Data came from " + source);
});
});
. Eğer evetse, değişikliklerle başka bir anlık görüntü elde edeceksiniz. https://firebase.google.com/docs/reference/android/com/google/firebase/firestore/QueryListenOptions
:sorgunuzu veren yaparken QueryListenOptions
kullanabilirsiniz (hiçbir belge snapshot.metadata.fromCache
değişiklikleri değiştirmek ama eğer örneğin) sadece meta içeren değişikliklerden haberdar olmak istiyorsanız
- 1. AFNetworking ve yanıt önbellek kullanımı
- 2. Kolay, kullanımı kolay LRU önbellek kullanımı java
- 3. Matris dönüştürmede önbellek kullanımı c
- 4. Firestore sorgusunda OR uygulanıyor - Firebase firestore
- 5. MVC Müşteri Önbellek Statik içerik için
- 6. APC Önbellek kullanımı sadece 32M bellek
- 7. VB.NET çevrimiçi çevrimiçi?
- 8. Firestore kuralları eşlemesi
- 9. Firestore sorgu alt koleksiyonları
- 10. başlığındaki `kullanımı ("İçerik-türü: application/json");`
- 11. Firestore Karşılaştırma Operatörleri - içerir, içermez,
- 12. Çözümlenemedi: com.google.firebase: firebase-firestore: 11.4.2
- 13. Firestore öz koşuluyla kuralları okuyun
- 14. MVC'de Önbellek Konumu
- 15. Cordova/PhoneGap Tarayıcı Önbellek Boyutu
- 16. HTML5 appcache'de önbellek php sayfaları
- 17. Hangi çevrimiçi broker API'ları sunuyor?
- 18. listBox program yeniden derlenene kadar içerik görüntülenmiyor C#
- 19. file_get_contents önbellek kullanıyor mu?
- 20. Firestore ekleniyor, hata ld'yi oluşturur: framework GRPCClient
- 21. Firebase ile Firestore Arasındaki Fark Nedir?
- 22. Firestore ile "nesne dizisi" nasıl güncellenir?
- 23. Firestore Referans veri türü ne için iyidir?
- 24. Bu cihaz çevrimiçi değil
- 25. Çevrimiçi WYSIWYG XML editörü
- 26. MongoDB ÇEVRİMİÇİ DELİKLİ KİLİTLEME
- 27. MySQL çevrimiçi test aracı
- 28. openfire çevrimiçi kullanıcıları alın
- 29. Satış Aylık Çevrimiçi Hizmetler
- 30. Twitter Bootstrap çevrimiçi yükleyici?