Jak hrát s Firebase udržet kontrolu nad šířkou pásma

Po několika týdnech práce s Firebase a trochu „co da fuk?“ Shromáždil jsem několik jednoduchých tipů, které vám pomohou ušetřit určitou šířku pásma.

Teď se to může zdát zřejmé, ale ne, když jsme začali pracovat s Firebase.

Najděte si přátele pomocí nástroje pro profilování databáze

Nástroj databázového profilu je součástí rozhraní Firebase CLI. Zaznamenává veškerou aktivitu spojenou s vaší databází a poskytuje podrobné zprávy. Zpráva obsahuje část informací o době odezvy, stažené a nahrané bajty a neindexované dotazy, které mohou ovlivnit výkon aplikace.

Čím dříve jej použijete, tím lépe pro vaši aplikaci (a pro váš klid v duši;)).

Další informace o nástroji profiler naleznete v oficiální dokumentaci.

Povolit místní ukládání do mezipaměti

Chcete-li stahovat data při každém zapnutí aplikace, povolte vytrvalost disku. Poté Firebase uloží lokální kopii databáze a načte pouze informace o nových, změněných nebo odstraněných prvcích. Umožní vám také dotazovat data offline.

Další informace o možnostech offline naleznete v oficiální dokumentaci.

Indexujte svá data

Pokud často filtrujete nebo objednáváte data na základě konkrétního pole, měli byste zvážit přidání indexu. Tato jednoduchá operace nejen zlepší výkon vašich dotazů, ale také ušetří šířku pásma, protože klient pro neindexované dotazy stáhne všechna data pro daný uzel a poté na něj provede dotaz.

Další informace o indexaci dat naleznete v oficiální dokumentaci.

Ujistěte se, že používáte správný posluchač, který poslouchá příslušný uzel

Firebase vám nabízí dva typy posluchačů:

  • hodnotí posluchače, což vám umožní poslouchat změny v daném uzlu (a jeho podřízených)
  • posluchače dítěte (dítě přidáno, dítě změněno, dítě odstraněno, dítě přesunuto), což vám umožní poslouchat změny dětí daného uzlu

Zní to, jako by dělali totéž, co? Nepřesně.

Jaký je tedy rozdíl?

Posluchač hodnot se spouští pokaždé, když se data v daném uzlu změní a vrací všechna data v tomto místě, včetně dětských dat.

Podřízený posluchač je spuštěn pokaždé, když je dítě v daném uzlu přidáno, změněno, odstraněno nebo přesunuto a vrací pouze data zpracovaného podřízeného.

Jaký je závěr?

Posluchač hodnot by měl být použit pouze pro nejhlubší uzly, které ve skutečnosti představují primitivní typy. V opačném případě použijte podřízený posluchač.

Další informace o získávání údajů naleznete v oficiální dokumentaci.

Vyhněte se stahování dat, když je nepotřebujete

Při zápisu dat pomocí rozhraní REST API vrátí Firebase odpověď, která obsahuje právě odeslaná data. Ve většině případů tato data pravděpodobně nebudete potřebovat.

Chcete-li zabránit stahování celého výstupu, stačí do parametrů požadavku přidat print = tichý. Od této chvíle server vrátí stavový kód bez obsahu.

Další informace o parametru tisku naleznete v oficiální dokumentaci.

V neposlední řadě

Vždy si pozorně přečtěte dokumentaci;)

Máte další tipy? Neváhejte je vložit do komentářů. Bude skvělé o tom mluvit :)