Buduję aplikację internetową za pomocą Firebase, która pobiera te same dane i przedstawia je na dwa różne sposoby - na liście i jako znaczniki na mapie google.Firebase - czy buforowanie poprawia wydajność?
Teraz, w każdym widoku - mapa lub lista - mam kod do wyszukiwania danych z bazy Firebase, łączenia ich razem i wyświetlania. Zamiast tego rozważam ten plan: po uruchomieniu przeszukuj dane, scalaj je i zapisuj wszystkie w tablicy, którą przekazuję z widoku do obejrzenia.
W pewnym sensie "buforuję" dane bazy ogniowej w tablicy. To nie jest idealne w jednym znaczeniu - dane w pamięci podręcznej nie są tak aktualne, jak bezpośrednie wysyłanie zapytań do Firebase. Z drugiej strony dzwonię do Firebase tylko raz.
Czy to ma sens? Czy odczytywanie danych z bazy Firebase odbywa się w tym samym przedziale czasowym, co odczyt danych z tablicy?
Świetne wyjaśnienie. Dokumenty, przy okazji, dają takie wrażenie, ale nie wdają się w tak wielkie szczegóły (może to być świetny dodatek do dokumentów). – Kato
W niedalekiej przyszłości planujemy dodać do dokumentów pewne sekcje dotyczące wydajności. –
@AndrewLee czy ta sekcja wydajności kiedykolwiek zostanie napisana? Używam Firebase od 2 lat i nie "kliknąłem" dokładnie tak, jak to zrobiłem, kiedy ta (5-letnia) odpowiedź wyjaśniła, w jaki sposób można przechowywać dane do przechowywania danych do późniejszego wykorzystania. Zdaję sobie teraz sprawę, że dość często koduję defensywnie, z obawy przed tym, że nie wiem, co robi Firebase i nie "cache" wewnętrznie. Teraz widzę, że DataSnapshot jest tylko nawigacyjnym kursorem do wewnętrznej niezmiennej struktury danych, i że 'val()' klonuje swoje dane do POJO. To jest tak elegancko zaprojektowane! Czapki z głów :-) – skrebbel