मैंने कहीं दावा किया है कि फायरबेस डेटा को कैश करता है।क्या फ़ायरबेस डेटा को कैश करता है?
तो मैं this test चला गया जो डेटा की अर्द्ध बड़ी मात्रा (लगभग 400 केबी) पढ़ता है।
यहां प्रासंगिक कोड है।
firebase.initializeApp(config);
var counter = 0;
console.time('firebase answered in');
firebase.database().ref('texts').once('value',onData);
function onData(snapshot){
console.timeEnd('firebase answered in');
counter ++;
if(counter > 20) return;
setTimeout(function(){
console.time('firebase answered in');
firebase.database().ref('texts').once('value',onData);
},2000);
}
जैसा कि आप देख सकते हैं, पहली बार यह डेटा लोड करता है इसमें कुछ समय लगता है, और बाद में कॉल बहुत कम समय लेते हैं।
firebase में उत्तर दिया: 1279.422ms
firebase जवाब में: 236.378ms
firebase जवाब में: 228.595ms
firebase जवाब में: 202.700ms
firebase में उत्तर दिया: 208.371ms
फायरबेस ने उत्तर दिया: 214.807ms
आदि
लेकिन, फिर भी, डेटा स्थानीय रूप से कैश है, तो ~200ms
(कभी कभी अधिक) स्थानीय डेटा का उपयोग करने में बहुत समय लगता है। UI को प्रस्तुत करते समय उपयोगकर्ता को देरी को समझने के लिए पर्याप्त है।
तो फ़ायरबेस डेटा को कैश कर रहा है? ~200ms
में क्या हो रहा है?
ठीक है। चलो टिप्पणियों को साफ करते हैं। –
अच्छा सवाल। और बेवकूफ ने यह पता लगाने के लिए अविश्वसनीय रूप से आसान बना दिया कि क्या हो रहा है। नीचे जवाब दें। –