जब मैं अपने Firebase रीयलटाइम डेटाबेस में किसी स्थान पर valueईवेंट जोड़ता हूं, तो क्या उस स्थान का पूरा डेटा हर बार ईवेंट ट्रिगर होने पर स्थानांतरित कर दिया जाता है (अर्थात उस स्थान पर मान बदल जाता है) ) या फायरबेस एक स्थानीय प्रति रखता है और आंतरिक रूप से केवल बदले हुए डेटा को प्राप्त करता है और बाकी को स्थानीय प्रति से जोड़ता है?

मैं अपने प्रतिक्रिया-मूल ऐप में जावास्क्रिप्ट एसडीके का उपयोग कर रहा हूं। उदाहरण के लिए, मान लें कि मेरे पास उस स्थान पर डेटा नीचे है जहां मैं मूल्य परिवर्तन हैंडलर जोड़ता हूं

{
  "alarmAcknowledgements" : {
    "1539018000000" : {
      "-LO-1HsCjevE9M1R8vB3" : {
        "-LOJRLBaZv3PcoU72UQg" : {
          "response" : "Confirm",
          "timestamp" : 1539015009220
        },
        "-LOJW1eCZzd0T7YMxHTh" : {
          "response" : "Decline",
          "timestamp" : 1539016240020
        }
      }
    }
  }
}

मैं value पर alarmAcknowledgements पर बदलाव की घटनाओं को सुन रहा हूं। यदि alarmAcknowledgements में एक नई प्रविष्टि जोड़ी जाती है, तो क्या मौजूदा डेटा फिर से डाउनलोड किया जाएगा या केवल नई प्रविष्टि।

कारण मैं सवाल पूछ रहा हूँ क्योंकि अगर Firebase हर बार स्थान पर पूरा डेटा प्राप्त करता है और उस स्थान पर डेटा की मात्रा बढ़ जाती है:

  1. समय बढ़ने के साथ इसे सिंक करने में अधिक समय लगेगा।

  2. समय के साथ स्थान पर डेटा बढ़ने पर मुझे अधिक बैंडविड्थ शुल्क भी लगेगा।

0
Varun Gupta 9 अक्टूबर 2018, 04:56

1 उत्तर

सबसे बढ़िया उत्तर

कोई भी डेटा जो पहले से ही एक श्रोता द्वारा डाउनलोड किया जा चुका है, जब तक श्रोता सक्रिय है, तब तक किसी भी मेमोरी को बरकरार रखा जाएगा। डेटा को दूसरी बार डाउनलोड नहीं किया जाता है अगर यह अपरिवर्तित रहता है।

साथ ही, यदि आपके पास डिस्क दृढ़ता सक्षम है, तो डिस्क पर कैश किया गया डेटा फिर से डाउनलोड नहीं किया जाएगा यदि यह सर्वर पर अपरिवर्तित है।

3
Doug Stevenson 9 अक्टूबर 2018, 02:09