2016-10-01 12 views
1

私はfirebaseリアルタイムデータベースでバックアップされたWebアプリケーションを開発しています。firebaseのリファレンスをキャッシュする必要がありますか?

アプリのフロントエンドはかなり複雑で、データをdbに書き込むいくつかの方法があります。私はこのようになり、いくつかのutilsのを持っている:

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

ここで質問です:それは大丈夫メソッド内に新しい文献を作成し(これにより、各呼び出しで新しい参照を作成する)か、すべきことですI「キャッシュ」他の場所のref(jqueryオブジェクトをキャッシュするのと同じです)。

私はこの最初のような何か行うことができます:

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

そして、前者の方法のように書き換えることができます

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

を少ないコードの繰り返しを持つ以外に任意のパフォーマンスゲインはありますか?

答えて

4

ここfirebaser

参照は、単にデータベース内の場所が含まれています。彼らは安いです。

参照に最初のリスナーを追加するには、データの同期を開始する必要があります。そのため、リッスンするデータほど高価です。余分なリスナーを追加することは、リスナー間でデータ同期を重複させないため、比較的安価です。

関連する問題