1

Ich entwickle eine Web-App mit Firebase-Echtzeit-Datenbank gesichert.Sollte ich Firebase refs cachen?

Das Frontend der App ist ziemlich komplex und es gibt mehrere Methoden, die Daten in die db schreiben. Ich habe mehrere utils, die wie folgt aussehen:

var utils = { 
    setSomething: function(id, item) { 
     var myRef = firebase.database().ref('my/path'); 
     myRef.set(item).then(something); 
    } 
} 

Die Frage ist: ist es in Ordnung, eine neue Ref innerhalb der Methode zu erstellen (und damit, bei jedem Aufruf eine neue Ref erstellen) oder sollte ich „Cache“ die Referenz irgendwo anders (genau wie wir jquery Objekte zwischenspeichern).

ich so etwas wie dies zuerst tun könnte:

var cachedRefs = { 
    myRef: firebase.database().ref('my/path'), 
    yourRef: firebase.database().ref('your/path'), 
    herRef: firebase.database().ref('her/path') 
} 

Und dann konnte das zuerst genannte Verfahren wie folgt umgeschrieben werden:

var utils = { 
    setSomething: function(id, item) { 
     cachedRefs.myRef.set(item).then(something); 
    } 
} 

Gibt es eine Leistung Verstärkung neben weniger Code Wiederholung zu haben?

Antwort

4

firebaser hier

Referenzen enthalten nur die Position in der Datenbank. Sie sind billig.

Das Hinzufügen des ersten Listeners zu einer Referenz erfordert, dass wir mit der Datensynchronisierung beginnen. Dies ist also genauso teuer wie die Daten, die Sie hören. Das Hinzufügen zusätzlicher Listener ist dann relativ billig, da wir die Datensynchronisierung über Listener hinweg duplizieren.

Verwandte Themen