Я где-то читал выражение о том, что Firebase кэширует данные.
Итак, я запустил этот тест, который читает полу большой объем данных (около 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.422мс
firebase ответил: 236.378мс
firebase ответил: 228.595мс
firebase ответил: 202.700мс
firebase ответил: 208.371мс
firebase ответил: 214.807мс
и т.д.
Но, все же, если данные кэшируются локально ~200ms
(иногда больше), похоже, много времени для доступа к локальным данным. Достаточно для пользователя, чтобы воспринимать задержку при визуализации пользовательского интерфейса.
Итак, Firebase кэширует данные? Что происходит в этих ~200ms
?